0

我们有一个运行 IIS 7 和 apache 的 win2003 服务器(使用 wamp 服务器 2.2)。

我们在两台服务器上都放置了一个名为 test.html 的页面,该页面向我们显示一条消息,上面写着“您在 IIS 页面上”和“您在 WAMP 页面上”,以向我们展示一切是否正常。

两者都在本地运行得非常好。IIS 正在侦听端口 80 和 apache 在端口 8082 上。问题来得很远。两项服务都在运行,并且 wamp 完全在线(绿色图标 +“上线”选项激活)。

在本地,在服务器上,执行http://localhost/test.htmlhttp://localhost:8082/test.html显示正确的页面。如果我们将 localhost 替换为真实 IP 地址(例如目的,比如说http://10.2.5.16/test.htmland http://10.2.5.16:8082/test.html),仍然可以工作。(不是实际地址,但实际使用的地址与 dns 网络服务使用的地址相同)

Remotly,从任何其他PC,做http://10.2.5.16/test.htmland http://10.2.5.16:8082/test.html,第一个正常给我们网站,第二个给我们一个HTTP 403 FORBIDEN(尝试使用htaccess和windows权限,仍然有403)。同样的方式,使用http://www.ourdomain.com/test.htmlhttp://www.ourdomain.com:8082/test.html给我们完全相同的结果(第一个 ok,第二个 403)

有没有可能让它正常工作?

提前致谢。

编辑:只是添加到解决方案中:

  1. 防火墙阻止了我,在这个端口上添加 wamp 允许
  2. 在我的配置中,我在我的目录语句 Require local 中,需要将其设置为 Require all grant

对于其余的,解决方案很漂亮。

再次感谢。

4

1 回答 1

1

您可以在本地访问站点的事实告诉我,两台服务器都已正确设置并正在侦听各自的端口。

根据进一步的问题,OP 表示 Servername 指令指向 localhost 并且应该更改为。

ServerName localhost:8082

ServerName example.com:8082 # or add "ServerAlias example.com:8082" to your existing.

其中 example.com 是您的站点 DNS。然后在您的 [System32\drivers\etc\hosts] 中将该 DNS 指向您的远程主机的 IP。

发生 403 是因为来自远程的请求与任何 Servername 或 ServerAlias 都不匹配,并且它属于通常具有 stricket 权限的默认处理程序。如果您仔细查看日志(/logs/apache/access.log),应该有一些关于“服务器配置/某个位置拒绝访问,例如您的默认 DocRoot”

如果您向http://example.com发出请求并且您的主机文件中有正确的 ip,您可以跟踪该请求在远程主机中发生了什么以及它在哪里结束(防火墙、Apache 等)。Apache 擅长记录,你只需要找到相关的日志条目!

于 2013-06-17T19:47:09.630 回答