从远程访问localhost上的站点

时间:2012-07-06 14:42:36

标签: networking

我用来在我的localhost上开发我的项目,在ubuntu机器上的apache上。 有时我需要向我的客户展示进展。 是否可以从远程计算机访问localhost?

4 个答案:

答案 0 :(得分:6)

本回答中使用的术语:

  • 主机=有网站的机器
  • 客户端=您尝试从
  • 访问主机的计算机

如果主机和客户端位于同一网络上,您可以通过输入

从客户端访问主机

http://(hostname or ip address)

在您客户的浏览器中。如果站点未在端口80(对​​于http)或端口443(对于https)上运行,请添加帖子(如果您的服务器位于8080,这是一个常见的备用端口,则此示例适用于此):

http://(hostname或ip地址):8080

如果主机和客户端不在同一网络上,并且您需要从客户端通过互联网访问主机,则需要在主机上提供主机供客户端访问。

如果您不确定自己在做什么,这可能非常对您的信息安全造成危险,我建议您购买一个便宜的托管帐户(可以获得10美元以上的费用)月份在1:1托管的地方)。

答案 1 :(得分:4)

您可以使用提供本地服务隧道的服务,例如localtunnel,pagekite或ngrok。这些服务简化了远程演示,移动测试的设置,还提供了一些请求检查。

我发现ngrok非常有用,因为它提供了一个https地址,用于测试网络摄像头访问等内容。

答案 2 :(得分:1)

执行此操作的方法很多-区别在于安全性,配置的简便性和解决方案的成本。

下面我要输入一些分析方法

  1. 端口转发(具有动态DNS和SSL加密)

这需要路由器配置(将路由器的公共端口转发到loclhoat端口),但这需要您具有固定的IP地址。如果您的IP地址不固定(在大多数情况下),则需要使用动态DNS服务来使用域名代替IP地址(有很多可用的免费服务)。这里我们还有安全问题。为了解决安全问题,即设置ssl证书,我们可以使用Let's Encrypt服务(https://letsencrypt.org/)获取免费证书,但是我们应该配置本地服务器以使用证书,或者应该设置反向代理(在大多数情况下,nginx或apache)并配置代理以使用证书。

结论– 如果我们要建立安全连接,则很难设置(可以免费完成)

  1. VPN

在这种情况下,我们应该使用VPN服务。我们应该将本地计算机连接到VPN,然后在另一侧将客户端计算机连接到VPN,这将允许我们通过本地IP地址访问本地主机。我们可以设置自己的VPN服务器,但这需要知识才能正确完成。

结论– 轻松,付费,安全,不良的用户体验(每次需要连接到本地主机时都连接到VPN)

  1. 隧道

在这种情况下,我们可以使用免费的隧道服务(即https://tunnelin.com/)。该过程非常简单,即注册用户,将设备连接到服务(通过在设备上运行一个line命令),使用Web界面打开/关闭到设备的安全隧道。

结论– 免费,安全,容易

答案 3 :(得分:0)

是的,如果您有公共和静态IP。通常,ISP在会话期间提供静态ips(即直到断开连接并再次连接)