【发布时间】:2022-02-04 02:05:47
【问题描述】:
我想让我的手机成为一个 Linux 网络服务器,通过使用 userLand 应用程序让您能够在 Andriod 上使用 ubuntu 发行版。
我已经安装了 Django 并在端口 8080 上运行我的服务器,因为端口 80 很忙(似乎合乎逻辑的是 android 正在使用它)
一切都很好,当我尝试从本地网络上的另一台设备访问该网站时,它可以正常工作。
所以我继续下一步,使网站可以从整个互联网访问,然后我发现您需要在路由器上进行端口转发,以允许本地网络外部的设备访问本地网络中的设备.
我按照以下步骤操作:
- 将手机的 IP 设为本地静态
- 添加了端口转发所需的配置(手机ip、8080端口等...)
- 找到我手机的公共 IP 并使用它并使用端口 8080
它仍然无法正常工作: 我可以在本地访问该网站,但无法通过互联网访问。
我尝试了另一种方法,方法是使用 google play 上“AWebServer”应用程序中已经工作的服务器
但还是同样的问题。
我尝试暂时禁用路由器上的防火墙,但仍然是同样的问题
最后,我尝试使用操作系统打开笔记本电脑上的端口:Windows 10 而不是手机操作系统:Android,并使用端口检查器进行检查,但端口已关闭,仍然是同样的问题。
我一整天都在努力解决这个问题)),如果有人帮助我,我会很高兴。
谢谢
【问题讨论】:
-
您有来自您的 ISP 的静态 ip 吗?如果不是,某些 ISP 会将您置于 NAT 之下,因此这种端口转发方法将不起作用。但是,您可以尝试使用诸如 ngrok 之类的服务,您将获得一个隧道 url 以从公共互联网访问您的应用程序。
-
不,我没有。也许这真的是实际问题,非常感谢兄弟,我会尝试 ngrok
-
过去几天我一直在我的树莓派上尝试同样的事情。所以我读了很多关于这个的东西。我可以将此添加为答案以便您接受吗?这将有助于其他人搜索相同的内容。
-
Ngrok 为我工作,但每次重新打开 Ngrok 时它都会提供一个变体端口号和变体域名(域的第一个数字),但这里有个好消息:您可以将 Ngrok 与订阅,他们会给你一个域名。所以你的回答对我有很大帮助但是请添加订阅点,我将直接作为答案。我真的很感激。
-
我在答案中添加了要点。谢谢。
标签: django devops portforwarding deploying