我在我的localhost上运行Apache / php,并希望能够从互联网上公开访问它。
我认为这是通过端口转发实现的吗?有人能指出我正确的方向吗?
答案 0 :(得分:11)
先生,您应该尝试ngrok它是免费的并且可以处理我向他扔的所有东西(节点服务器,xampp等)。
答案 1 :(得分:6)
这取决于您的连接。
如果您的计算机有公共IP地址,则它已经在Internet上。然后,您只需在本地防火墙和家庭/企业防火墙上允许连接到端口80。
如果您的计算机位于机顶盒后面,或者位于公司网络内,则可能是因为您没有使用互联网。在某些情况下,路由器在本地(不可路由)网络和Internet之间执行NAT(Network Address Translation)。在这种特殊情况下,您需要在机顶盒或路由器上设置端口转发。
答案 2 :(得分:4)
答案 3 :(得分:1)
您可以尝试使用beame-insta-ssl,它是获取免费隧道服务和免费SSL证书以暴露本地主机的好方法。它在git上是开源的:https://github.com/beameio/beame-insta-ssl/
答案 4 :(得分:0)
只有端口转发可以工作,但您需要通过它的IP连接到您的服务器。
看看dyndns.com,在那里你可以获得指向你服务器的DNS ID。
之后,将路由器端口80(HTTP)或443(HTTPS)设置为指向PC HTTP服务器端口(这可以是您希望的任何端口)
答案 5 :(得分:0)
这取决于你是什么意思localhost?每个系统都有自己的“localhost”。
如果您的意思是:“您的系统”< - >“网关/ wifi路由器”< - >互联网,您应该配置从路由器外部接口到服务器的端口映射' IP地址。有关详细信息,请查看网关/路由器文档。
答案 6 :(得分:0)
通过OpenVPN或SSH隧道进行端口转发的另一个工具是https://portmap.io。如果您在本地Apache上运行多个vhost,则可以使用所需的主机名设置host-header。