【问题标题】:Port forwarding local python server to access through mobile phone端口转发本地python服务器通过手机访问
【发布时间】:2020-09-13 03:50:39
【问题描述】:

我正在尝试通过设置本地服务器并通过手机访问它来在手机上测试我的个人网站。到目前为止,我能够通过执行 python3 -m http.server 并通过 localhost 端口 8000 从我的 VM 访问它或通过端口转发到我的主机并通过那里访问我的网站,通过访问端口 8000 成功地在我的 VM 上启动服务器。

我现在正尝试通过我的路由器进行端口转发并从我的手机访问我的测试代码,但我似乎无法做到这一点。我进入了路由器设置的单端口转发选项,并在其中设置了一条规则,将任何到端口 8000 的传入连接转发到具有端口 8000 的计算机。如果我没记错的话,写下我的访问 192.168.1.1: 8000,连接请求应该转移到我计算机的8000端口,然后将它转移到我的VM的8000端口,对吗?但是,我似乎无法做到。我是否误解了端口之间的通信是如何发生的?我需要在中间编码一个人来传递连接请求吗?

非常感谢您的帮助,我希望我的问题不是太基本,但到目前为止,这是我能想到的在手机上测试我的代码而不将我的更改推送到 github 页面的唯一方法。

TLDR;

如何将我的本地服务器端口转发到我的手机访问? 目前为止

主机 -> 虚拟机工作 电话 -> 主机不工作

【问题讨论】:

  • 主机、虚拟机和路由器相对于彼此位于哪里?测试网站驻留在哪台机器上? 192.168.1.1地址属于哪台机器?您的手机是否需要从 Internet 或与测试网站相同的本地网络访问您的测试网站?
  • VM 在我的主机里面,它的 ip 是 10.0.2.15。我在虚拟机和主机之间设置的端口转发是,当从我的 localhost 从 127.0.0.1 访问端口 8000 时,它将传递到 10.0.2.15:8000。我的主机通过以太网连接到我的路由器,并且我使用端口 8000 设置了单个端口转发,因此理论上我可以通过从手机访问 192.168.1:8000 来访问端口 8000 上的主机。最后我的手机也连接到同一个路由器
  • 那么您的主机和手机都位于您的内部 192.168.1.0/24 网络上?路由器只是在您的以太网和 WiFi 之间提供了一座桥梁(除了将流量路由到外部 Internet)?还是您的以太网和 WiFi 使用不同的地址范围?
  • 嘿抱歉回复晚了,但是是的,它们连接到同一个网络,路由器确实应该是网桥。主机通过以太网连接到路由器,路由器就在我和我的手机旁边

标签: portforwarding


【解决方案1】:

由于您的主机和手机位于同一 192.168.1.0/24 子网中,因此您无需在路由器上进行任何配置。

需要在您的主机上进行端口转发/网络地址转换。如果您的主机的 IP 为 192.168.1.1,那么您需要在主机上配置端口转发,如下所示:

192.168.1.1:8000 到 10.0.2.15:8000

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 2016-02-19
    • 2017-06-27
    • 2020-08-22
    • 2021-01-05
    • 2019-04-22
    • 2017-03-04
    • 2021-10-13
    • 2019-01-06
    相关资源
    最近更新 更多