如何在nginx 1.4上使用虚拟主机进行双栈IPv4/IPv6

我正在使用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.

如何设置nginx 1.4.x以支持虚拟主机双栈?

最佳答案
您已在多个服务器块中使用default_server.这仅用于定义给定IP地址/端口组合的默认虚拟主机.因此,在整个配置中,每个IP /端口对只应出现一次.哪个主机应该是默认的虚拟主机取决于您. (或者你做了,直到你编辑了这部分.)

此外,ipv6only只能在整个配置中出现一次.由于打开了1.4及更高版本的默认值,因此您可以安全地省略它.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。