我目前正在尝试在WAMP服务器上设置网站以保存一些个人信息。由于我的ISP阻止端口80,我必须将apache的默认端口从80更改为25565(我相信我还可以保留端口80,以防万一)。所有这一切都很顺利,因为我完全能够通过键入" localhost"来访问我的服务器。或" localhost:25565"进入谷歌浏览器。
然而,当使用我的外部IP地址时,我会收到各种错误,即"连接超时"。一般来说,我的查询格式为" xxx.xx.xx.x:25565"或" xxx.xx.xx.x",替换我自己的外部IP。端口被完全转发(我已多次检查http://canyouseeme.org),正如我所提到的,该网站在本地主机上正常工作。
我在网站上运行最新版本的wordpress,并使用wordpress主页作为我的index.php(取代WAMP默认值)。我还附加了httpd-vhosts.conf和httpd.conf的片段,我修改了WAMP默认值,以防这些是我的问题的一部分。提前谢谢。
更新:我发现这实际上仍然是端口80的问题。显然服务器仍在尝试通过端口80发送最终数据,即使它响应端口25565上的初始请求。如果有人知道解决方法,请告诉我。
的httpd-vhosts.conf:
<VirtualHost *:25565>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
的httpd.conf
Listen 0.0.0.0:80
Listen [::0]:80
Listen 0.0.0.0:25565
Listen [::0]:25565
答案 0 :(得分:0)
好的,首先,您不必从默认端口80更改Apache的端口。您应该做的是更改路由器端口转发配置,以便外部访问您的路由器端口25565转发到运行的PC的IP地址WAMPServer例如192.168.1.10和端口80。
这使得路由器端口25565上的传入连接将连接转发到192.168.1.10:80。这会绕过您的ISP阻塞端口80,并且对于内部使用,可以使用默认端口80保存内容。
其次,默认的httpd-vhost.conf文件是Apache发布的,并不是为WAMPServer使用而定制的。所以基本上没用,因为它将DocumentRoot指向WAPServer安装中不存在的某个地方,即DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
因此,您将不得不删除示例代码并重写它以进行WAMPServer安装。
第三,使用WordPress会使事情变得复杂,因为WordPress存储你在安装它时使用的url(可能是你使用类似localhost
之类的东西),然后在内部构建url时使用它。它内部网址的构建会导致问题,因为您可能会访问网站主页,但是当您点击内部链接或菜单项时,它会生成一个类似localhost/next-page
的网址,当然如果浏览器看到localhost
它将在客户端PC上查找Apache Web服务器以服务该页面,并且它不会在那里。
首先,我建议你阅读这篇文章Project Links do not work on Wamp Server它解释了为什么虚拟主机是一个好主意,以及如何在WAMPServer中正确创建它们。
然后你需要从no-ip.com这样的地方注册并获得动态DNS域名,他们允许你免费获得一个。
然后,您需要按照这些说明change a sites url进行操作,这样您才能使您的网站网址与来自no-ip.com等人的动态网址网址相匹配。
然后远程用户将能够使用动态DNS网址和端口号来访问您的服务器,例如mysite.no-ip.net:25565