我正在使用Nginx 1.4.1(现在,在1.2.1之前),并且想支持双栈(IPv4和IPv6).我总是从Nginx获得xyz错误的重复监听选项.
server {
listen 80 default_server;
listen [::]:80 ipv6only=on default_server;
server_name domain1;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl ipv6only=on default_server;
server_name domain1;
}
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name domain2;
}
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
server_name domain2;
}
如果我只使用听80,我只得到IPv4.否则,如果我使用listen [::]:80我只获得IPv6.
最佳答案
您已在多个服务器块中使用default_server.这仅用于定义给定IP地址/端口组合的默认虚拟主机.因此,在整个配置中,每个IP /端口对只应出现一次.哪个主机应该是默认的虚拟主机取决于您. (或者你做了,直到你编辑了这部分.)
原文链接:https://www.f2er.com/nginx/435094.html此外,ipv6only只能在整个配置中出现一次.由于打开了1.4及更高版本的默认值,因此您可以安全地省略它.