技术解析

关于 Nginx 多站点配置 IPv6 访问的问题
0
2021-05-17 10:39:35
idczone

/usr/local/nginx/conf/nginx.conf : ( Nginx Default 的配置文件)

    server {
    listen 80;
    listen [::]:80 ipv6only=on;
    server_name _;
}
...
    include vhost/*.conf;
}

/usr/local/nginx/conf/vhost/xxx.conf

server {
    ...
    listen               443 ssl http2 fastopen=3 reuseport;
    listen          [::]:443 ssl http2 fastopen=3 reuseport ipv6only=on;
    ...
}
...
server {
    listen 80;
    listen [::]:80 ipv6only=on;
    
    server_name       xxxx.com;

    location / {
        rewrite    美国服务器   ^/(.*)$ https://xxx.com/$1 permanent;
    }
}

service nginx reload

提示错误: nginx: [emerg] duplicate listen options for [::]:80 in /usr/local/nginx/conf/vhost/xxx.conf:97

请问我的配置错在哪里呢?我想在 IPv6 访问的时候也能重定向到 https 页面。


我去 ttlsa 看了下,有--with-ipv6 吗? 我记得不加 ipv6only=on 是同时监听 ipv6 和 ipv4 更简洁一些。

有的,其实我测试过主站通过 ipv6 访问是没问题的。但就是重定向那里不行。
还有一个原因是我用 nginx 内置了 Google Analytics ,用 ipv6only 是为了他在提交数据的时候准确。
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服