Nginx
子域的 Nginx 衝突伺服器名稱
我目前在 Nginx 上為 foo.domain.com 執行了一個虛擬主機,一切正常。
我為要添加的名為 bar.domain.com 的新子域創建了一個新文件。我對兩者使用相同的設置。
當我重新啟動 Nginx 我得到
Restarting nginx: nginx: [warn] conflicting server name "" on 0.0.0.0:443, ignored nginx.
當我轉到 bar.domain.com 時,我看到了我應該看到的內容,但是當我轉到 foo.domain.com 時,我看到了 bar.domain.com 連結到的頁面。
富
upstream php-handler { server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name foo.domain.com; return 301 https://$server_name$request_uri; } server { listen 443; ssl on; ssl_certificate [path_foo]/cacert.pem; ssl_certificate_key [path_foo]/privkey.pem; root [path]/foo; ... }
酒吧
server { listen 80; server_name bar.domain.com; return 301 https://$server_name$request_uri; } server { listen 443; ssl on; ssl_certificate [path_bar]/cacert.pem; ssl_certificate_key [path_bar]/privkey.pem; root [path]/bar; }
我哪裡錯了?
在我看來,您的 https 塊也需要指定伺服器名稱,例如
server { listen 443; server_name bar.domain.com; ssl on; ssl_certificate [path_bar]/cacert.pem; ssl_certificate_key [path_bar]/privkey.pem; root [path]/bar; }
您可能還有其他文件
/etc/nginx/sites-available/<site-name>
連結到/etc/nginx/sites-enabled/<site-name>
.這些文件中的設置可能與文件
/etc/nginx/sites-available/default
衝突