You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Nginx的ipv6only=on重复定义问题?

Nginx SSL配置错误修复方案

错误原因分析

  1. duplicate listen options for [::]:443:两个域名的配置块都手动添加了ipv6only=on参数,而该参数在同一端口只能定义一次。且Ubuntu 22.04自带的Nginx版本(1.18+)默认已为listen [::]:port开启ipv6only=on,无需手动指定。
  2. invalid parameter "ssl_certificate":原配置中listen指令的分号被注释符号#覆盖,导致Nginx无法识别指令结束,错误将ssl_certificate视为listen的参数。

修正后的配置文件

主域名 scores-catalog.org 配置

server {
    root /var/www/scores-catalog.org/html;
    server_name scores-catalog.org www.scores-catalog.org;

    location / {
        proxy_set_header Host $http_host;
        # 补充你的其他proxy配置
        proxy_pass http://127.0.0.1:8055;
    }

    # 修正listen指令语法,移除冗余的ipv6only参数
    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/scores-catalog.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/scores-catalog.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = www.scores-catalog.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = scores-catalog.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;

    server_name scores-catalog.org www.scores-catalog.org;
    return 404; # managed by Certbot
}

子域名 jvds.scores-catalog.org 配置

server {
    root /var/www/jvds.scores-catalog.org/html;
    server_name jvds.scores-catalog.org;

    location / {
        proxy_set_header Host $http_host;
        # 补充你的其他proxy配置
        proxy_pass http://127.0.0.1:8083;
    }

    # 无需指定ipv6only,保持语法正确
    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/jvds.scores-catalog.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/jvds.scores-catalog.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = jvds.scores-catalog.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    listen [::]:80;

    server_name jvds.scores-catalog.org;
    access_log  /var/log/nginx/jvds.scores-catalog.org.log;
    error_log  /var/log/nginx/jvds.scores-catalog.org.error.log;
    return 404; # 可选,与主域名配置保持一致
}

验证与生效

  1. 执行配置检查:sudo nginx -t
  2. 检查通过后重启Nginx:sudo systemctl reload nginx

内容的提问来源于stack exchange,提问作者Robert Wildling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:02:56