我在我的 android 设备上托管了一个 HTTP 服务器。我希望它能够从互联网访问它,即使它连接到家庭 wifi(在无线路由器后面)。
此外,在路由器上配置静态端口转发不是一种选择,因为从互联网上,我将无法访问路由器配置。
我有什么选择吗?
我试过这个:
Android 应用程序从特定端口号(例如 8080)从 android 设备(本地 IP 地址,例如 192.168.0.1)发送 HTTP 请求,通过家庭 WIFI 到互联网上的 Web 服务器,
路由器会将源地址修改为其公共 IP 地址的地址(例如 111.100.45.65),并将源端口号修改为任何随机端口号(例如 39824),并在其动态 NAT 表中创建一个条目。
内部 IP 内部端口 外部端口 192.168.0.1 8080 39824
据我了解,此条目至少保留几个小时。Internet 上的 Web 服务器将报告源 IP 和端口分别为 111.100.45.65 和 39824。
从 android 应用程序向 Internet 上的 Web 服务器发送 HTTP 请求后,我在设备的端口 8080 上运行了一个 HTTP 服务器。现在,如果我要从 Internet 向地址 111.100.45.65 的 39824 端口发送 HTTP 请求,它应该被设备上运行的 HTTP 服务器接收(路由器将从其动态 NAT 表中解析请求并将其定向到我的设备) .
但由于某种原因,这个请求没有得到解决。任何指针。