2014-10-04 2 views
0

Здесь вопрос, я построил Nginx версии 1.7.6 (я имел то же самое с 1.4.2) мне нужно управлять следующими доменами:Nginx - server_name - Как последовательность материя

  • mydomain.company
  • api.mydomain.company
  • secure.mydomain.company
  • www.mydomain.company

, где только один из них обслуживается HTTP и все другой переадресовать на https, здесь я отправляю свой файл nginx.conf (я помещаю все внутри, что для тестирования я знаю о доступных сайтах), но проблема в том, что когда я добавляю раздел api.mysite.company, который управляет всем запросом ЗАЧЕМ ??

#user nobody; 
    worker_processes 1; 

    events { 
     worker_connections 1024; 
    } 

    http { 
     include  mime.types; 
     default_type application/octet-stream; 
     sendfile  on; 
     #tcp_nopush  on; 

     #keepalive_timeout 0; 
     keepalive_timeout 65; 

     #gzip on; 

    #################### api_backend ############################### 

    upstream api_backend { 

      server 127.0.0.1:3000; 
      server 127.0.0.1:3001 backup; 
     } 

    ##################### api.mysite.company ############################ 

    server { 
     listen 80; 
     server_name api.mysite.company; 

     location/{ 
       proxy_pass http://api_backend; 
     } 

    } 

########################## mysite.company (80) ######################### 

    server { 
     listen  80; 
     server_name mycompany.company secure.mycompany.company; 
    return 301 https://$host$request_uri; 
    } 

############################### HTTPS ################################# 

    server { 
     listen  443 ssl; 
     server_name mycompany.company secure.mycompany.company www.mycompany.company; 

     ssl_certificate  /var/local/myc.crt; 
     ssl_certificate_key /var/local/myc.pem; 

     ssl_session_cache shared:SSL:1m; 
     ssl_session_timeout 5m; 
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; 
     ssl_ciphers HIGH:!aNULL:!MD5; 
     ssl_prefer_server_ciphers on; 

     location/{ 
      root mycompany/secure; 
      index index.html; 
     } 
    } 
} 

если это подвинуть ### mysite.company (80) #### раздел сверху выглядят как хорошо работает, но мне кажется, что когда-нибудь конфликт на server_name поднять!

ответ

0

Если существует несколько совпадений для server_name, nginx будет использовать первый. Проверьте порядок оценки ваших конфигураций в каталоге, доступном для ваших сайтов.

Смежные вопросы