AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 997041
Accepted
MaXi32
MaXi32
Asked: 2019-12-30 11:48:24 +0800 CST2019-12-30 11:48:24 +0800 CST 2019-12-30 11:48:24 +0800 CST

IPv6 有效性测试失败。这是什么意思?

  • 772

当我使用https://ipv6-test.com/validate.php测试我的网站是否准备好 IPv6 时(例如域 www.[private].com 上的示例),测试失败并返回错误:

IPv6 web server     web server is unreachable : Connection refused

https://ready.chair6.net/等其他测试站点也因有关 ipv6 的各种错误而未能通过测试。

我在进行测试时检查了服务器上没有错误,并且我已经做了各种事情来启用 ipv6。最后,我决定忽略这个问题,因为我不知道为什么测试失败,但我仍然可以 ping 服务器上的 ipv6 地址。但我只想到这个问题:

测试是否得出结论,网站 www.[private].com 只能从仅使用 ipv6 地址连接的客户端访问?如果是,那么我应该担心。你怎么看?

编辑澄清(回答@Piotr P. Karwasz):

1)服务器确实在监听 IPv6:

在此处输入图像描述

2)这是 ip6tables -nVL INPUT 的输出(请注意,我还完全禁用了防火墙以测试站点,但是在像您提到的那样进行 curl 时连接拒绝仍然存在)

在此处输入图像描述

3)关于听力指令。是的,ipv6 监听指令在那里。例如服务器得到了这个设置:

server {

 listen ipv4:80
 listen ipv6:80 ipv6only=on;

}

server {
 listen ipv4:443 ssl http2
 listen ipv6:443 ssl http2 ipv6only=on;
}

4) 启用 IPv6 配置:

在此处输入图像描述

在执行此命令时:

[ -f /proc/net/if_inet6 ] && echo 'IPv6 ready system!' || echo 'No IPv6 support found! Compile the kernel!!'

输出是:

IPv6 ready system!

5) 执行此操作时:netstat -napl | grep 80 似乎 nginx 和 httpd 在 ipv6 上运行没有问题。输出是:

在此处输入图像描述

关于此服务器的其他内容:

a) nginx_apache 作为反向代理(nginx 作为前端,apache 作为后端)

b) 操作系统是 Centos 8

c) 在 linode 使用 directadmin 主机(linode 已验证他们这边的 IPv6 没有问题)。

编辑:已解决。感谢@Piotr P. Karwasz 指出 IP 中有错字。这是一个字符 IP 的错字,我把 f305 而不是 fe05

编辑域名以防止被搜索引擎索引。

apache-2.2
  • 1 1 个回答
  • 1141 Views

1 个回答

  • Voted
  1. Best Answer
    Piotr P. Karwasz
    2019-12-30T14:15:15+08:002019-12-30T14:15:15+08:00

    您测试了您的主机是否可以通过 IPv6 访问ping,但您实际上并没有在端口 80 上连接到它:

    curl -6 -i http://www.example.com/
    

    连接失败。这意味着:

    • 您的服务器不侦听 IPv6 套接字。您可以通过以下方式检查:

      netstat -6nl | grep 80
      

      寻找这样的行:

      tcp6       0      0 :::80                   :::*                    LISTEN
      

    然后检查Listen配置中的指令。

    • 防火墙阻止了 IPv6 端口。检查:

      ip6tables -nvL INPUT
      

      如果策略是DROP并且您没有ACCEPT端口 80 的规则,则需要添加它。

    编辑:在您澄清之后,您似乎在nginx配置中输入了 IPv6 地址时输入了错字:您忘记了地址的最后 8 个十六进制数字。除非你真的需要指定nginx应该监听哪个地址,否则只需指定所有地址:

    listen *:80;
    listen [::]:80;
    
    • 3

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve