2

如果两个设备在同一个网络中,我可以连接它,但是例如,如果我在我的 android 上使用 4G 并打开 wifi 并尝试连接,http://computer-ip-address那么它只会挂起并最终出错,说 count not connect。apache 服务器托管在我的本地 mac 中,我暂时禁用了防火墙。关于如何让设备使用不同的网络连接到我本地网络上的 apache 服务器的任何想法?

4

4 回答 4

3

您将需要配置您的路由器,以便它将端口 80 从外部转发到您的 mac。

然后,您可以http://your-public-Internet-ip在手机上打开,有效地访问您本地的 Web 服务器。

如果您不喜欢记住您的 IP 地址,尤其是在旅途中,答案是 dyndns 或任何免费的替代方案,例如http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html

使用这样的服务,您将能够进入http://yourname.service.com您的手机。您要么必须将路由器配置为始终告诉该服务您当前的 IP(检查您的路由器以获取支持的服务),要么在您的 mac 上运行一个小程序来处理这个问题。

于 2012-12-25T22:47:10.897 回答
2

您需要在路由器上启用端口转发,以将 TCP 80(如果您使用 SSL,可能还有 TCP 443)转发到您的 Web 服务器 IP 地址。

完成后,您应该能够通过路由器的公共 IP 地址访问您的站点。

请注意,您的 Web 服务器正在使用 DHCP 提供的动态地址,您的 IP 可能会更改,这将使其无法正常工作。我建议你给你的网络服务器一个静态 IP 地址来阻止这个。

您的路由器上可能也有一个动态 IP,因此您可以向 ISP 请求一个静态 IP,或者您可以注册一个动态 DNS 服务。

如果您发布您的路由器型号,我们可能会为您提供有关设置端口转发的更具体说明。

于 2012-12-25T22:49:39.073 回答
1

我希望你的 httpd.conf 设置了端口监听

Listen 80

此外,您只能从 LAN 访问您的站点,否则,您的服务器需要从公共 IP 地址访问,而不是通过 Internet 4g 连接的私有 IP 地址,这意味着不同的网络

奖励积分,如果您尝试从外部地址访问您的服务器,您是否在路由器上配置了端口转发?

于 2012-12-25T22:43:45.593 回答
1

如果您可以立即localhost使用 4G 网络连接到您的网络,那么互联网上的任何人都可以这样做。重要的是要了解您的问题的答案有两个组成部分:

  • 保护来自 Internet 的 HTTP 访问(端口 80 或其他)。您可能不想为您的本地网络敞开大门。
  • 配置从您的客户端(在本例中为您的手机)到本地计算机(在本例中为您的 Mac)的寻址。如果后者没有公共 IP 地址,那么您将不得不配置您的客户端以访问您的路由器,并配置您的路由器以进行相应的转发。

鉴于这主要是系统配置工作,我猜测Serverfault将是一个更好的地方来找到令人满意的答案。

于 2012-12-25T22:59:44.550 回答