我已经安装了 Ubuntu 服务器,它在本地主机上运行良好。当我搜索如何在互联网上托管我的网络服务器时,我发现我必须进行端口转发,但我在移动热点上使用互联网,那么,还有其他方法吗?
注意:我的手机是可 root 的。
答案1
如果您希望允许网络连接到您的服务器,端口转发就非常重要。我们假设这是不可能的。
我之前使用的唯一其他可行方法是通过 SSH 连接到另一台服务器。我使用这种方法公开我正在开发的网站的开发版本,并通过生产服务器显示它,而无需上传任何内容。
ssh -NC example.dom -R 8000:localhost:8000
这使得 localhost:8000 在我的服务器上可用。在服务器上,您应该能够运行curl -I localhost:8000
并看到请求到达您的本地计算机。
为了让其他人看到这个,我使用 nginx 将其代理到端口 80,添加一些 TLS、密码保护等。你如何做到这一点将稍微取决于您现有的基础设施,因此我不会向您讲一些关于的废话proxy_pass
。
答案2
好吧,我已经尝试了所有可能的方法来做到这一点。为此我花了 10 多个小时的时间。搜索了整个互联网、每个论坛、每个相关页面。答案是 NO!你做不到,所以不要再浪费时间了。要么你需要从 ISP 获取静态 IP 路由器,要么你可以使用 NGROK 之类的隧道。这可以完成你的工作,但速度会慢一点
答案3
机会总是存在的。您不需要静态 IP,只需使用 NOIP 或动态 DNS 等服务,然后使用隧道,以便外部人员可以访问您的服务器端口。 https://github.com/anderspitman/awesome-tunneling [关于 Ngrok 替代品的精彩文章] Peace (:
答案4
大多数移动互联网提供商使用 Ipv6 和 DS-Lite 隧道进行 IPv4 连接(一个 IPv4 地址用于多个用户),这使得无法通过 ipv4 进行连接。您是否尝试过通过 IPv6 GUA 地址进行连接?请注意,如果您从 no ip 获取免费主机名,则可能需要 AAAA 记录。