如果两个设备在同一个网络中,我可以连接它,但是例如,如果我在我的 android 上使用 4G 并打开 wifi 并尝试连接,http://computer-ip-address
那么它只会挂起并最终出错,说 count not connect。apache 服务器托管在我的本地 mac 中,我暂时禁用了防火墙。关于如何让设备使用不同的网络连接到我本地网络上的 apache 服务器的任何想法?
4 回答
您将需要配置您的路由器,以便它将端口 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 上运行一个小程序来处理这个问题。
您需要在路由器上启用端口转发,以将 TCP 80(如果您使用 SSL,可能还有 TCP 443)转发到您的 Web 服务器 IP 地址。
完成后,您应该能够通过路由器的公共 IP 地址访问您的站点。
请注意,您的 Web 服务器正在使用 DHCP 提供的动态地址,您的 IP 可能会更改,这将使其无法正常工作。我建议你给你的网络服务器一个静态 IP 地址来阻止这个。
您的路由器上可能也有一个动态 IP,因此您可以向 ISP 请求一个静态 IP,或者您可以注册一个动态 DNS 服务。
如果您发布您的路由器型号,我们可能会为您提供有关设置端口转发的更具体说明。
我希望你的 httpd.conf 设置了端口监听
Listen 80
此外,您只能从 LAN 访问您的站点,否则,您的服务器需要从公共 IP 地址访问,而不是通过 Internet 4g 连接的私有 IP 地址,这意味着不同的网络
奖励积分,如果您尝试从外部地址访问您的服务器,您是否在路由器上配置了端口转发?
如果您可以立即localhost
使用 4G 网络连接到您的网络,那么互联网上的任何人都可以这样做。重要的是要了解您的问题的答案有两个组成部分:
- 保护来自 Internet 的 HTTP 访问(端口 80 或其他)。您可能不想为您的本地网络敞开大门。
- 配置从您的客户端(在本例中为您的手机)到本地计算机(在本例中为您的 Mac)的寻址。如果后者没有公共 IP 地址,那么您将不得不配置您的客户端以访问您的路由器,并配置您的路由器以进行相应的转发。
鉴于这主要是系统配置工作,我猜测Serverfault将是一个更好的地方来找到令人满意的答案。