
nginx.conf に 2 つのドメインが設定されています。どちらも独自の証明書を使用した SSL と Apache へのプロキシを使用しています。
ただし、2 番目のドメインは完全に無視され、nginx は常に最初のドメインに解決されます。各ケースで server_name を正しく設定していますが (私が確認した限り)、この構成の何が問題なのかわかりません。
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
upstream site {
# real IP addresses masked
server xx.xxx.x.xxx;
server xx.xxx.x.xxx;
}
server {
# this domain always works
listen 443;
server_name *.first-site.com;
ssl on;
ssl_certificate /var/ssl/first-site.crt;
ssl_certificate_key /var/ssl/first-site.key;
location / {
access_log off;
proxy_connect_timeout 15;
proxy_next_upstream error;
proxy_pass http://site;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Protocol https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
}
server {
# this domain is ignored, always resolves to first-site.com
listen 443;
server_name *.second-site.com;
ssl on;
ssl_certificate /var/ssl/second-site.crt;
ssl_certificate_key /var/ssl/second-site.key;
location / {
access_log off;
proxy_connect_timeout 15;
proxy_next_upstream error;
proxy_pass http://site;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Protocol https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}
}
}
答え1
IP とポート番号をリッスンするように、Listen ディレクティブを調整する必要があります。
Listen 1.2.3.4:443
現在、SSLには別々のIP(または別々のポート)が必要です。