Windows 7 上的 Apache2 需要公共访问

Windows 7 上的 Apache2 需要公共访问

我已经在 Google 上搜索过了,也在这里搜索过,我正尝试将运行在 Windows 7 机器上的 apache2 服务器放到网上供公众访问。

我有一个贝尔 2 线调制解调器/路由器并且位于 NAT 后面,我已将端口 80 转发到我的计算机。

但是我无法从本地 IP 或我的公共 IP 地址访问服务器。目前唯一可以访问 Web 服务器的计算机是运行该服务器的计算机,通过 127.0.0.1

我也我 99% 确定该端口上没有冲突。但我不确定如何验证这一点。

我知道我肯定在这里遗漏了一些东西,我无法想象这件事是如此困难。

请原谅我信息不足,我绝不是专业的 IT 人员。我有一组海外客户,我正在尝试演示一些代码,因此这不需要是一个安全或永久的解决方案。一旦我的应用程序准备好上线,我将花时间设置一个合适的独立服务器(或更有可能雇人为我们做这件事)。

答案1

监听 127.0.0.1:80

这意味着您将 Apache 绑定到仅环回接口。更改为Listen 80使其监听所有可用接口。不要忘记重新启动 Apache。

答案2

您是否检查过 Apache 是否已配置为监听所有 IP 接口,而不仅仅是本地主机?如果您执行 netstat,则应该有一个 apache 或 httpd 进程在 0.0.0.0 上监听 80。

听起来 Apache 设置为只监听 loopback/localhost 地址,因此只有该机器本身可以连接到它。找到配置文件,更改它监听的接口,然后其他机器应该能够启动 Web 服务器。

答案3

为了排除 80 上可能存在的端口冲突,您可以使用:

netstat -noab | find /i ":80" | find /i "LISTEN"

答案4

您是否在 Windows 防火墙上打开了端口 80?我猜没有。这不是端口冲突,否则您将无法使用环回地址访问 Web 服务器。

您可以尝试通过 telnet 到您的机器的 80 端口并发出一个命令,GET然后观察会发生什么情况,以检查这是否是连通性的。

相关内容