我已经在 android 中创建了一个网络服务器,它运行良好,但问题是它不公开可用,它说:
The server at ip:port is taking too long to respond.
当我输入设备 ip:port 但当我将它与我的电脑网络共享时,我只能看到它,那么我怎样才能让它公开可用......
答案1
我会尝试 Pagekite (https://pagekite.net/)。开源、免费,并移植到 Android。该程序专为您的用途而设计。该程序可以使任何 Android 网络服务器(以及 PC 或 MAC 上的任何网络服务器)从互联网访问,从 Nat/防火墙/ISP 后面访问。Pagekite 为您设置了一切 - 隧道、DNS、端口转发等。这个小程序有很多文档,请查看。(http://pagekite.net/wiki/)
答案2
@tapped-out 是对的。如果移动 ISP 允许 TCP/IP 连接传入您的手机,我会感到惊讶。
不过,您可以执行以下操作:
如果您经常使用给定的无线网络,并且可以配置端口转发,那么您应该能够告诉路由器为您的手机提供一个保留 IP 并将端口转发给它。如果您的手机通过 Wifi 连接,那么人们就可以通过您的固定电话 ISP 访问您手机的网站。如果您需要免费的外部 DNS 名称,请使用动态 IP 服务,例如 No-IP。
您可以在一台可公开访问的机器上安装 OpenVPN,然后在手机上配置 OpenVPN(可通过 Google Play 安装)以连接到此服务器(并将其配置
ccd
为使用“静态”VPN IP)。我相信,如果您正确配置转发,您的手机的端口 80 等就可以访问,但在此可公开访问的服务器上安装 apache 并反向代理到手机的 VPN 地址可能会稍微容易一些。如果您的手机已 root(尽管可能有一个应用程序可以在没有 root 或 Debian chroot 的情况下执行此操作),您可以考虑运行 tor 并设置隐藏服务。即使您不关心 Tor 的安全性,它在这种情况下也很有用 - 编辑:忘了提到您需要告诉其他人使用洋葱网络代理,例如tor2web或类似于未安装 tor 的访问。