13

我在我的本地主机上运行 Apache/php,并希望能够从 Internet 上公开访问它。

我认为这是通过端口转发实现的?有人可以指出我正确的方向吗?

4

7 回答 7

16

好吧,先生,您应该尝试ngrok它是免费的,并且可以与我扔给他的所有东西一起使用(节点服务器,xampp 等)

于 2015-02-18T20:08:10.623 回答
10

这取决于您拥有的连接。

如果您的机器有一个公共 IP 地址,那么它已经在 Internet 上。然后,您只需要在本地防火墙和家庭/公司防火墙上允许连接到端口 80。

如果您的机器位于机顶盒后面,或者在公司网络内,那么您很可能不在 Internet 上。在某些情况下,路由器会在本地(不可路由)网络和 Internet 之间进行NAT(网络地址转换)。在这种特殊情况下,您需要在机顶盒或路由器上设置端口转发。

于 2011-01-17T20:22:43.213 回答
4

您可能想查看Pagekite - 它是一个开源软件,允许您将本地资源暴露给外部 Internet,而无需重新配置路由器或防火墙。

有一个类似的服务叫做Show off,它做的事情大致相同,尽管它似乎有点受限。

于 2011-04-25T17:29:00.547 回答
1

您可以尝试使用 beame-insta-ssl,这是获得免费隧道服务和免费 SSL 证书以公开您的本地主机的好方法。它在 git 上是开源的:https ://github.com/beameio/beame-insta-ssl/

于 2016-10-16T12:08:17.297 回答
0

只有端口转发才能工作,但您需要通过它的 IP 连接到您的服务器。

看看 dyndns.com,在那里你可以获得指向你的服务器的 DNS ID。

之后,您将路由器端口 80 (HTTP) 或 443(HTTPS) 设置为指向您的 PC HTTP 服务器端口(这可以是您希望的任何端口)

于 2011-01-17T20:21:57.987 回答
0

这取决于本地主机是什么意思?每个系统都有自己的“本地主机”。

如果您的意思是:“您的系统”<-->“网关/wifi 路由器”<-->Internet,那么您应该配置从路由器外部接口到服务器 IP 地址的端口映射。查看您的网关/路由器文档以获取更多信息。

于 2011-01-17T20:22:28.063 回答
0

通过 OpenVPN 或 SSH 隧道进行端口转发的另一个工具是https://portmap.io。如果您在本地 Apache 上运行多个虚拟主机,则可以使用所需的主机名设置主机头。

于 2017-03-17T20:35:35.030 回答