如何让 WAMP 和域名在非标准端口上工作?

如何让 WAMP 和域名在非标准端口上工作?

我已阅读了无数关于在 WAMP 上设置域名以监听 80 以外的端口的文章;但它们都不起作用。

我已安装并安装了 IIS 7 的 Windows Server 2008(标准版)在端口 80(和 443)上运行。

我已经安装了 WAMP,配置如下。

Listen 81
ServerName sub.example.com:81
DocumentRoot "C:/Path/To/www"
<Directory "C:/Path/To/www">

    Options All MultiViews

    AllowOverride All

#   onlineoffline tag - don't remove
    Order Allow,Deny
    Allow from all

</Directory>

localhost:81 works与上述配置相同,但是sub.example.com:81没有。

为了确保我的防火墙不会妨碍我,我已将其完全禁用。

我的sub.example.com域名已经指向我的服务器并且在 IIS 的 80 端口上运行。

另外,如果我禁用 IIS 并将 Apache 端口从 更改81为,80它就可以工作。

是的,每次 httpd.conf 更改后我都会重新启动 Apache。:-)

我不需要配置任何其他域(或子域[我甚至不关心本地主机]),这就是我不使用虚拟主机的原因。

知道这是怎么回事吗?我可能做错了什么?


更新

更改Listen80但保留ServerName原样sub.example.com:81会导致导航到sub.example.com:80工作;这对我来说似乎不对。可能ServerName是以某种方式忽略了 :port 部分?


netstat -a -n | find "TCP"

>netstat -a -n | find "TCP"
  TCP    0.0.0.0:81             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:912            0.0.0.0:0              LISTENING
  ...
  TCP    127.0.0.1:81           127.0.0.1:49709        TIME_WAIT
  ...

答案1

#捂脸

路由器配置为仅允许端口 80 和 443。这就是端口 81 适用于 localhost 而不适用于域的原因。

我只需要将端口 80 和 81 转发到 Web 服务器就可以了。

答案2

最近不得不设置同样的东西。您必须执行注册表破解才能使其工作。查看此网站文章了解更多信息。特别是关于编辑注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList 的部分。

http://beyondweblogs.com/setting-both-wamp-iis-on-80-port-no-need-of-81-now/

相关内容