gpt4 book ai didi

linux - 从 ipv6 地址打开网站时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:58 27 4
gpt4 key购买 nike

我已经在我的 ubunntu 12.10 系统中安装了 apache2inet addr 172.16.17.235inet6 addr fe80::a05b: 25ff:fef0:68a4/64 在局域网中。

现在,当我想打开位于/var/www/的默认网站 (index.html) 时,我只需编写
http://localhost
http://127.0.0.1
http://172.16.17.235 在我的网络浏览器 (firefox 17.0) 中打开 index.html
但是当我想在 ipv6 addressing 的帮助下访问这个 index.html 时,如下所示:
http://[::1]
http://[fe80::a05b:25ff:fef0:68a4]

浏览器显示以下错误:
无法连接 Firefox
无法与位于 [::1] 或
的服务器建立连接Firefox 无法与位于 [fe80::a05b:25ff:fef0:68a4] 的服务器建立连接。

任何人都可以告诉我我的系统中缺少什么配置或者我做错了什么。

BTW 当我 ping 到我的本地主机时:
ping6::1 或 ping6 -I eth0 fe80::a05b:25ff:fef0:68a4
ping 回复正常:
64 bytes from::1: icmp_seq=1 ttl=64 time=0.032 ms
or
来自 fe80::a05b:25ff:fef0:68a4 的 64 个字节:icmp_seq=1 ttl=64 time=0.048 ms

最佳答案

如果您想使用 fe80:: 范围内的 IPv6 地址,您必须指定它应该通过哪个网络适配器。 (从技术上讲,您必须提供与所用网络适配器相关联的区域 ID)。

在 ping 上,您可以使用 -l eth0 执行此操作。在 Firefox 中,您可以使用 http://[fe80::a05b:25ff:fef0:68a4%x] 执行此操作,其中 x 是您必须找出的正数.


编辑:如果你完全不知道发生了什么,你可以试试这个:

python -c 'import sys,socket; print socket.getaddrinfo(sys.argv[1], (sys.argv[2:]+[0])[0], 0, socket.SOCK_STREAM)' fe80::a05b:25ff:fef0:68a4%eth0

然后看看结果。在我的系统上,它看起来像

[(10, 1, 6, '', ('fe80::a05b:25ff:fef0:68a4%eth0', 0, 0, 3))]

其中最后一个数字 3 是真正的区域 ID。

如果这给了你一个结果,你的名字解析工作正常,如果没有,它就坏了。

下一步可能是尝试创建 HTTP 连接:

python -c 'import sys,socket; c=socket.create_connection((sys.argv[1], 80)); c.send("GET / HTTP/1.0\n\n"); print c.recv(100000).split("\r\n\r\n",1)[0]' fe80::a05b:25ff:fef0:68a4%eth0

如果可行,则问题出在您的浏览器上;如果不行,则无论出于何种原因,您都无法访问服务器。 (您的 Web 服务器守护程序是否绑定(bind)到 IPv6?)

关于linux - 从 ipv6 地址打开网站时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13511512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com