如何使 WAMP 可以通过 Internet 访问?

Posted

技术标签:

【中文标题】如何使 WAMP 可以通过 Internet 访问?【英文标题】:How to make WAMP accessible over the internet? 【发布时间】:2014-08-24 21:49:20 【问题描述】:

我对 Web 开发很陌生。我有这个使用 phpmysql 开发的 Web 应用程序,可以在我的 WAMP 服务器上运行。我想与表弟分享,以获取提示和建议。我想让他可以访问我的 WAMP 服务器。那么,我该怎么做呢?我只有一台运行 Windows 7 的计算机和互联网连接。 :-P

附: - 也欢迎提出其他建议。因为我认为这是 Web 开发初学者将面临的一个基本问题,我希望能找到最佳解决方案,以便对其他人也有所帮助。

谢谢!

【问题讨论】:

【参考方案1】:

对于那些仍在寻找已经提供的出色选项以外的解决方案的人,我建议使用Ngrok,这是一项出色的隧道服务。它非常简单,但功能强大。如果这个工具在 8 年前就存在,事情会简单得多!

【讨论】:

【参考方案2】:

这里的帖子不错。实际上,我遇到了这两个问题,阻止了我无法通过 Internet 访问 Web 服务器(仅限本地主机)。

将虚拟主机添加到有效域(或在我的情况下为子域,即 you.me.com)

所以看了大家的帖子,我现在明白了。

我必须做提到的两件事

1) 将例外添加到 Windows 防火墙(手动添加 c:\wamp\bin\apache\apache2.4.37\bin\httpd.exe )——当您尝试访问您的站点时,您需要这个的一个重要线索,它只是超时并且看起来像一个不工作的网页)

2) 正如另一位用户提到的那样。如果您收到 Forbidden 错误,尽管您的文件夹中有 index.htm 文件,那么您需要编辑 c:\wamp\bin\apache\apache2.4.37\conf\extra\httpd-vhosts.conf 并更改:

要求本地要求全部授予

这是一个例子:

<VirtualHost *:81>
ServerName me.you.com
DocumentRoot "c:/wamp/www/atitd"
<Directory  "c:/wamp/www/atitd/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local (CHANGE THIS)
</Directory>
</VirtualHost>

在本例中我使用端口 81,因为我使用 IIS 作为主 Web 服务器(端口 80)。所以在这个例子中,我将使用 http://you.me.com:81 访问。可以通过右键单击工具栏中的图标,工具,使用 80 以外的端口(在 Apache 标题下)来配置监听端口。干杯!

【讨论】:

这对我来说非常有效,因为我不必做任何看起来很难的端口转发,谢谢。刚做了第 1 步,然后是第 2 步,我可以从外部设备访问我的网站【参考方案3】:

我知道,如果你有一个服务器并希望它连接到互联网,你必须将服务器端口转发到 80,然后你从那里离开我相信 WAMP 服务器对网络编程的初学者有好处。

【讨论】:

【参考方案4】:

您可能还必须将文件“httpd.exe”添加到 Windows 防火墙上允许的应用程序列表中(我在 Windows Server 2012 R2 上托管应用程序时遇到了这种情况)。该文件可以在此位置(或驱动器 C/D;您安装 WAMP 的位置)找到:

"F:\wamp\bin\apache\apache2.4.9\bin"

【讨论】:

【参考方案5】:

在 Windows 防火墙中,允许通过端口 80 的入站连接。然后您可能需要在路由器上配置端口转发,以将入站连接转发到您的 PC 本地 IP 地址。完成后,只需向他们提供您的公共 IP 地址,他们应该能够浏览您的网站。我不能给你关于端口转发的非常具体的说明,因为几乎每个路由器都不同,但这个网站应该会有所帮助:http://portforward.com/

【讨论】:

感谢您的回复,但端口转发是我卡住的地方。对于初学者来说太复杂了吗? 您需要对端口和 NAT 的工作原理有一些基本了解。此外,它可能违反了您的 ISP 服务协议。 对不起,我应该澄清一下。在路由器上打开端口 80 可能不会违反任何规定,但托管服务器几乎总是违反 ISP 提供住宅服务的 SLA。 您可以在此处en.wikipedia.org/wiki/Port_forward 和 www.portforward.com 获得有关端口转发的一些有用见解。它还提供了有关如何为许多路由器执行此操作的具体说明。【参考方案6】:

我在窗口 7 上使用 Wampserver 2.5 64bit,这就是我发现的:

//You need to find this

# Controls who can get stuff from this server. #
# onlineoffline tag - don't remove
Require local

然后改成

# Controls who can get stuff from this server. #
# onlineoffline tag - don't remove
Require all granted

然后您可以通过LAN IP address 访问您的网站。例如http://192.168.2.7/

但是,这可能会导致无法重新启动 Wampserver 的错误。

【讨论】:

感谢您的回复。很有帮助! 这个文件在哪里? 以上文件位置c:\wamp64\bin\apache\apache2.4.23\config\httpd.conf【参考方案7】:
    首先,您需要在路由器上进行端口转发以转发(打开)端口 80。 检查您的 httpd 配置。 尝试通过您的 IP 访问您的网站(要查找您的 WAN IP,请访问 www.whatismyip.com) 如果它不起作用,请检查您的 Windows 防火墙(禁用它)。

【讨论】:

以上是关于如何使 WAMP 可以通过 Internet 访问?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 localhost (WAMP) 上的 Internet Explorer 中加载 jQuery

为啥 WAMP\XAMPP 服务器(Windows 8) localhost 只能在 Internet Explorer 上工作

php安全问题,wamp后,只能通过localhost访问,如何通过IP地址远程访问

启用对 WAMP 服务器上站点的本地网络访问

如何允许远程访问我的移动(Android)WAMP服务器[关闭]

如何允许远程访问我的移动(Android)WAMP服务器[关闭]