宝塔面板开启IPv6需勾选【监听IPv6】并执行命令echo '::' > /www/server/panel/data/ipv6.pl && /etc/init.d/bt restart;Nginx配置须添加listen [::]:80;和listen [::]:443 ssl http2;;DNS需添加AAAA记录指向全局单播IPv6地址。

宝塔面板后台怎么开启IPv6监听
不勾选「监听IPv6」,面板本身就不会绑定 :: 地址,哪怕服务器有 IPv6 也连不上。这个开关是硬性前提,不是可选项。
操作路径:登录面板 → 【面板设置】→ 滚动到底部【基础设置】→ 勾选【监听IPv6】→ 点击【保存】→ 立即执行:echo '::' > /www/server/panel/data/ipv6.pl && /etc/init.d/bt restart。
注意两点:
• ipv6.pl 文件内容必须是 ::(两个英文冒号),写 True 或 1 在新版面板中可能失效;
• 重启命令不能省,只点「保存」不重启,配置不会加载。
Nginx 配置文件里怎么加 IPv6 listen 指令
网站配置默认只监听 listen 80; 和 listen 443 ssl http2;,这两个都是 IPv4 专用写法。不手动补上 IPv6 版本,Nginx 根本不会收 IPv6 请求,浏览器会直接超时。
在网站【配置文件】中修改:
• 找到 listen 80;,在其下方新增一行:listen [::]:80;;
• 找到 listen 443 ssl http2;,在其下方新增:listen [::]:443 ssl http2;;
• 保存后点击【重载配置】(不是「保存」按钮旁边的「测试配置」,那个不生效);
• 若使用了自定义端口(如 8080),也要同步加 listen [::]:8080;。
别漏掉 SSL 证书路径、server_name 这些字段——它们不用改,但 IPv6 的 listen 行必须和对应协议块严格对齐,否则 Nginx 启动会报错 invalid number of arguments in "listen" directive。
域名怎么解析 IPv6 地址(AAAA 记录)
即使面板和 Nginx 都支持 IPv6,如果 DNS 不返回 AAAA 记录,客户端压根不知道你的网站有 IPv6 地址,只会走 IPv4 链路。
操作要点:
• 登录 DNS 服务商后台(阿里云、Cloudflare、DNSPod 等);
• 新建一条类型为 AAAA 的记录;
• 主机名填 @(根域)或 www(子域),记录值填服务器的全局单播 IPv6 地址(形如 2001:db8::1234,不能是 fe80:: 或 fd00::);
• TTL 建议设为 600(10 分钟),方便调试;
• 用命令验证:dig AAAA yourdomain.com @2400:3200:baba::1,看响应里有没有 IN AAAA 行。
常见坑:
• 把 IPv6 地址写成带前缀长度(如 2001:db8::1/64)——AAAA 记录只接受纯地址;
• DNS 服务商限制 AAAA 记录数量或要求实名认证,尤其国内平台要注意审核状态。
为什么 IPv6 能 ping 通但网站打不开
这通常不是单一环节问题,而是链路中某处「看似通、实则断」。最常卡在三个位置:
• 宿主机防火墙没放行 IPv6 端口:ip6tables -L -n | grep :80 查是否允许 [::]:80;
• 云服务商安全组未开放 IPv6 规则(Vultr/AWS/腾讯云控制台里要单独配 IPv6 入站规则);
• Nginx 的 server_name 匹配失败——IPv6 访问时浏览器发的 Host 头仍是域名,不是 IP,所以 server_name 必须包含你的域名,不能只写 IP 或留空。
调试顺序建议:先 curl -g -6 https://[2001:db8::1]:8888 测试面板,再 curl -g -6 https://[2001:db8::1] 测试网站,最后换域名测。每一步都成功,才说明整条链路真正通了。


















