2013-01-10 23 views
7

Jest kilka pytań na temat konfiguracji subdomeny nginx, ale nie znalazłem takiej, która odpowiada dokładnie mojej.Konfiguracja poddomeny nginx na wirtualnym hoście

Powiedz, że dostałem wirtualnego hosta some.example.com od administratora wyższego poziomu example.com w naszej organizacji. Chcę używać some.example.com jako mojej głównej witryny i używać foo.some.example.com i bar.some.example.com do użytku pomocniczego (proxy, itp.). Próbowałem tę prostą konfigurację i umieścić go pod sites-enabled ale nie działa:

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; 
} 

W tym ustawieniu some.example.com działa prawidłowo, ale na drugiej zamian dwie przeglądarki, która could not find foo.some.example.com. Używam go na serwerze Ubuntu.

Czy coś jest nie tak z tą konfiguracją? Czy jest to coś, co powinienem porozmawiać z administratorem sieci wyższego poziomu (czy trzeba zarejestrować foo.some.example.com i bar.some.example.com)?

Odpowiedz

11

Konfiguracja subdomen rozpoczyna się od wpisu na serwerze DNS domeny nadrzędnej, a odnośnik rozstrzyga poddomenę pod adres IP serwera WWW. Serwer sieciowy z kolei deleguje żądania na podstawie konfiguracji dla poddomeny.

Jeśli nie masz konfiguracji DNS w swojej poddomenie, to administrator w example.com musi ustawić alias CNAME. Alias ​​wskazuje subdomenę na ten sam serwer sieciowy, na którym znajduje się witryna dla domeny nadrzędnej. Nazwy kanoniczne (CNAMES) są dodawane dla każdej z subdomen. Po przekształceniu subdomeny w adres IP serwera internetowego serwer może skierować żądanie do innej witryny.

+0

Dzięki za odpowiedź. Mam więc dwie możliwości: 1) zbudować DNS na 'some.example.com' przez moje własne 2) zapytać administratora w' example.com', aby dodać 'CNAME's dla dwóch poddomeny wymienionych? Jeśli pójdę z tym ostatnim, będę musiał zapytać administratora w 'example.com' za każdym razem, gdy chcę dodać subdomenę? – clwen

+1

Tak - zgadza się. Zamiast oddzielnego DNS, wszystkie żądania DNS trafiałyby na serwery DNS w example.com. –

+0

Jeśli zdecyduję się na samodzielne skonfigurowanie serwera DNS, mogę wskazać wszystkie trzy domeny w tym przykładzie na to samo IP i pozwolić nginxowi dowiedzieć się, który "serwer" (rodzic lub foo lub bar) będzie używany? – clwen

0

CNAME to tylko sposób na przeniesienie ruchu internetowego na Twój adres IP. Żądanie nadal będzie zawierało oryginalną nazwę w nagłówku Host :.

Powiązane problemy