我有两个vhost:一个在domain.tld
端口80上,另一个在sub.domain.tld
端口443上,SSL上。我在DNS服务器上添加了一个CNAME条目,将sub
子域重定向到domain.tld.
。
一切都按预期工作,但转到http://sub.domain.tld
与转到http://domain.tld
和https://domain.tld
与https://sub.domain.tld
相同。我该如何防止这种情况?
我的配置:
server {
listen *:443;
listen [::]:443;
server_name www.sub.domain.tld;
ssl on;
ssl_certifiate ...;
ssl_certifiate_key ...;
root /var/www/sub.domain.tld;
...
}
server {
listen *:80;
listen [::]:80;
server_name www.domain.tld;
root /var/www/domain.tld;
...
}
答案 0 :(得分:5)
如果这些是您唯一的server
块,那么它们也分别是端口443和端口80的defacto 默认服务器块。有关详细信息,请参阅this document。
如果您不想这样,则需要声明默认的server
块。极简主义的定义可能是:
server {
listen 80 default_server;
listen 443 default_server;
deny all;
}