【问题标题】:I can access the website locally but can't access it through the internet After openning the port我可以在本地访问网站但无法通过互联网访问打开端口后
【发布时间】:2022-02-04 02:05:47
【问题描述】:

我想让我的手机成为一个 Linux 网络服务器,通过使用 userLand 应用程序让您能够在 Andriod 上使用 ubuntu 发行版。

我已经安装了 Django 并在端口 8080 上运行我的服务器,因为端口 80 很忙(似乎合乎逻辑的是 android 正在使用它)

一切都很好,当我尝试从本地网络上的另一台设备访问该网站时,它可以正常工作。

所以我继续下一步,使网站可以从整个互联网访问,然后我发现您需要在路由器上进行端口转发,以允许本地网络外部的设备访问本地网络中的设备.

我按照以下步骤操作:

  1. 将手机的 IP 设为本地静态
  2. 添加了端口转发所需的配置(手机ip、8080端口等...)
  3. 找到我手机的公共 IP 并使用它并使用端口 8080

它仍然无法正常工作: 我可以在本地访问该网站,但无法通过互联网访问。

我尝试了另一种方法,方法是使用 google play 上“AWebServer”应用程序中已经工作的服务器

但还是同样的问题。

我尝试暂时禁用路由器上的防火墙,但仍然是同样的问题

最后,我尝试使用操作系统打开笔记本电脑上的端口:Windows 10 而不是手机操作系统:Android,并使用端口检查器进行检查,但端口已关闭,仍然是同样的问题。

我一整天都在努力解决这个问题)),如果有人帮助我,我会很高兴。

谢谢

first image

second image

【问题讨论】:

  • 您有来自您的 ISP 的静态 ip 吗?如果不是,某些 ISP 会将您置于 NAT 之下,因此这种端口转发方法将不起作用。但是,您可以尝试使用诸如 ngrok 之类的服务,您将获得一个隧道 url 以从公共互联网访问您的应用程序。
  • 不,我没有。也许这真的是实际问题,非常感谢兄弟,我会尝试 ngrok
  • 过去几天我一直在我的树莓派上尝试同样的事情。所以我读了很多关于这个的东西。我可以将此添加为答案以便您接受吗?这将有助于其他人搜索相同的内容。
  • Ngrok 为我工作,但每次重新打开 Ngrok 时它都会提供一个变体端口号和变体域名(域的第一个数字),但这里有个好消息:您可以将 Ngrok 与订阅,他们会给你一个域名。所以你的回答对我有很大帮助但是请添加订阅点,我将直接作为答案。我真的很感激。
  • 我在答案中添加了要点。谢谢。

标签: django devops portforwarding deploying


【解决方案1】:

您的 ISP 可能已将您置于 NAT 之下,在这种情况下,端口转发可能仍然无法正常工作。

最好的办法是使用某种 SSH 隧道。

你可以试试ngrok

这将为您提供一个从公共互联网访问您的应用程序的 URL。

这里唯一需要注意的是 ngrok 不是免费的。他们有一个基于订阅的模型。在免费层中,您可以使用 ngrok,但链接 url 会在几个小时后更改。

如果你愿意,你也可以自己实现类似 ngrok 的东西。阅读更多关于 ssh 隧道的信息。这将对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-10
    • 2015-02-12
    • 2021-01-16
    • 2014-11-16
    • 2017-11-22
    • 2010-09-22
    • 2019-08-01
    • 2016-11-04
    相关资源
    最近更新 更多