我有这个 nginx 配置。我希望 nginx 拒绝除 secure.myserver.com 之外的所有子域,但是这个配置拒绝了所有内容,包括 secure.myserver.com
如果我删除拒绝块,那么我的主要块就可以正常工作。
#main
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name secure.myserver.com;
}
#deny
server {
listen 443 default_server;
server_name _;
deny all;
}
答案1
在主块中,您正在listen
为 IPv4/IPv6 定义一个指令,然后分别为 IPv6 定义一个指令。
您应该使用以下任一方法:
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
}
server {
listen 443 ssl;
}
在你们两个的server
街区里。
此外,您的第二个server
块缺少ssl
指令listen
。