【问题标题】:RaspberryPi, when on local network only accessible via local ipRaspberryPi,在本地网络上时只能通过本地 ip 访问
【发布时间】:2020-02-21 20:41:23
【问题描述】:

我在我的 Raspberry Pi 上托管了一个网站,但发生了一件奇怪的事情。 当我在本地网络上并且想访问我的网站并转到 www.mywebsite.com(示例)时,它不会加载。但是当我输入托管在我的树莓派上的网站的本地 IP 地址时,该网站是可以访问的。

但是当我从 4G 网络或任何外部网络在任何浏览器中加载 www.mywebsite.com 时,我将能够加载它。

我想知道 RaspberryPi 中的某些内容是否针对 apache 配置不正确,或者这是否是我的路由器的问题。

【问题讨论】:

    标签: networking raspberry-pi


    【解决方案1】:

    问题可能不在于 Pi,而在于您的路由器将您连接到互联网。

    www.mywebsite.com(我猜您使用了一些动态 DNS 服务)解析为您的外部 IP 地址。您的路由器显然不允许您从 LAN 内访问外部 IP 地址的(转发)端口。解决此问题很可能取决于您的路由器品牌。正如 pajaja 所说,您可能会在路由器手册中找到称为“NAT 环回”的此功能。我也见过它叫“NAT 发夹”。

    替代方案:

    • 尝试使用外部代理检查这是否真的是原因。
    • 在您要访问 Pi 的计算机上的 hosts 文件 [1] 中包含 www.mywebsite.com,并让 FQDN 解析为 Pi 的本地 IP 地址而不是公共 IP 地址。

    关于 hosts 文件的格式,Stackexchange 上有一个关于它的话题:https://unix.stackexchange.com/questions/13046/format-of-etc-hosts-on-linux-different-from-windows

    [1] 在 unix 上:/etc/hosts,在 Windows 上:C:\Windows\System32\drivers\etc\hosts

    【讨论】:

    • +1,这种从内部网络到达外部 NAT 地址的能力通常称为 NAT 环回。
    【解决方案2】:

    我认为问题在于您的路由器中配置的 DNS 服务器。尝试在本地网络中的某个主机中使用命令nslookup 解析名称。我认为在 Linux 和 Windows 中是相同的命令。

    如果您无法解析名称,则问题在于您的 DNS config.tTy 将其更改为其他名称。例如 Google 的 8.8.8.8

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 2023-03-29
      • 2019-01-18
      相关资源
      最近更新 更多