2013-01-10 5 views
7

그래서 nginx 하위 도메인 구성에 대해 몇 가지 질문이 있지만 정확히 내 것과 동일한 질문을 찾지 못했습니다.가상 호스트의 nginx 하위 도메인 구성

우리 호스트에서 example.com 가상 호스트 some.example.com 높은 수준의 net admin에서 가지고 있다고 말해. 내 기본 사이트로 some.example.com을 사용하고 보조 용도 (프록시 등)로 foo.some.example.combar.some.example.com을 사용하고 싶습니다. 나는이 간단한 구성을 시도하고 sites-enabled 아래에 넣어하지만 작동하지 않았다 :

server { 
    listen 80; 
    server_name some.example.com; 
    root /home/me/public_html/some; 
    index index.html index.htm; 
} 

server { 
    listen 80; 
    server_name foo.some.example.com; 
    root /home/me/public_html/foo; 
    index index.html index.htm; 
} 

server { 
    listen 80; 
    server_name bar.some.example.com; 
    root /home/me/public_html/bar; 
    index index.html index.htm; 
} 

을 잘 작동 some.example.com이 설정에서,하지만 could not find foo.some.example.com이 다른 두 브라우저 반환. 우분투 서버에서 실행하고 있습니다.

이 구성에 문제가 있습니까? 아니면 더 높은 수준의 net admin (게 foo.some.example.combar.some.example.com 등록해야합니까?) 뭔가 얘기해야합니까?

답변

11

하위 도메인 구성은 상위 도메인의 DNS 서버에서 시작하며 조회는 하위 도메인을 웹 서버의 IP 주소로 해석합니다. 웹 서버는 하위 도메인 구성에 따라 요청을 위임합니다.

하위 도메인에 DNS 설정이없는 경우 example.com의 관리자는 CNAME 별칭을 설정해야합니다. 별칭은 하위 도메인을 부모 도메인의 웹 사이트를 호스팅하는 동일한 웹 서버로 지정합니다. 정식 이름 (CNAMES)은 각 하위 도메인에 대해 추가됩니다. 하위 도메인이 웹 서버의 IP 주소로 확인되면 웹 서버는 요청을 다른 웹 사이트로 라우팅 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그래서 나는 두 가지 옵션을 가지고있다 : 1) some.example.com에서 DNS를 만든다. 2)'example.com'의 관리자에게 두 개의 하위 도메인에 대해 CNAME을 추가하도록 요청 하는가? 후자와 함께 간다면 하위 도메인을 추가 할 때마다 관리자에게 'example.com'을 요청해야합니다. – clwen

+1

예 - 맞습니다. 별도의 DNS 대신 모든 DNS 요청은 example.com의 DNS 서버로 이동합니다. –

+0

나 혼자서 DNS 서버를 설정하기로 한 경우 예제의 세 도메인을 모두 같은 IP로 지정할 수 있으며 nginx가 사용할 "서버"(부모 또는 foo 또는 bar)를 파악하도록 할 수 있습니까? – clwen

0

CNAME은 IP 주소로 웹 트래픽을 보내는 것입니다. 요청에는 여전히 Host : 헤더에 원래 이름이 포함됩니다.

관련 문제