为什么我的 apache 服务器地址是 ::1 而不是 127.0.0.1

为什么我的 apache 服务器地址是 ::1 而不是 127.0.0.1

我在运行 apache 2.4 的 Windows 7 上使用 bitnami wamp,遇到了问题。apache 服务器的服务器地址显示 ::1,而不是预期的 127.0.0 1

apache 默认使用 ipv6 吗?在 wamp readme 文件中,它说转到

http://127.0.0.1:80

或者

http://localhost

当我输入 127.0.0.1 时,浏览器告诉我连接被拒绝,但 localhost 并非如此。Localhost 似乎工作正常,但我认为它使用的是 ipv6 地址 ::1。

那么为什么我的 apache 服务器地址是 ::1 而不是 127.0.0.1,我该如何解决这个问题。

谢谢。

答案1

我自己从来没有遇到过 Apache 监听任何 IPv6 地址的问题,但是 Apache 文档是这样说的:

在某些平台(例如 Linux 和 Tru64)上,处理 IPv6 和 IPv4 的唯一方法是使用映射地址。如果您希望 Apache 使用最少的套接字处理 IPv4 和 IPv6 连接(这需要使用 IPv4 映射的 IPv6 地址),请指定 --enable-v4-mapped 配置选项。

--enable-v4-mapped 是除 FreeBSD、NetBSD 和 OpenBSD 之外的所有平台上的默认设置,因此这可能是您的 Apache 的构建方式。

如果您希望 Apache 仅处理 IPv4 连接,而不管您的平台和 APR 支持什么,请在所有 Listen 指令上指定一个 IPv4 地址,如下例所示:

侦听 0.0.0.0:80
侦听 192.0.2.1:80


你可以在这里阅读更多: http://httpd.apache.org/docs/2.2/bind.html

相关内容