11

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

4

4 回答 4

12

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

我发现 ngrok 很有用,因为它提供了一个 https 地址,这是测试网络摄像头访问等内容所必需的。

于 2016-11-08T01:39:16.143 回答
9

此答案中使用的术语:

  • 主机 = 带有站点的机器
  • 客户端 = 您尝试从中访问主机的机器

如果主机和客户端在同一个网络,你可以通过输入从客户端访问主机

http://(hostname or ip address)

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

http://(hostname or ip address):8080

如果主机和客户端不在同一个网络上,并且您需要从客户端通过 Internet 访问以查看主机,则您需要使您的主机在 Internet 上可供客户端访问。

如果您不确定自己在做什么,这对您的信息安全可能是极其危险的,我建议您获得一个便宜的托管帐户(可以在 1:1 托管等地方以每月 10 美元的价格获得它们)。

于 2012-07-06T15:20:56.907 回答
4

有很多方法可以做到这一点——区别在于安全性、配置的简单性和解决方案的成本。

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

  1. 端口转发(使用动态 DNS 和 SSL 加密)

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

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

  1. VPN

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

结论 –简单、付费、安全、糟糕的用户体验(每次需要连接到 localhost 时都连接到 VPN)

  1. 隧道

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

结论——免费、安全、简单

于 2018-10-22T22:15:06.700 回答
0

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

于 2012-07-06T14:51:27.010 回答