我的本地 IP 地址是192.168.0.105
我在 D-Link 路由器上创建了端口转发,如图所示。
然后我启动一个本地 sinatra 服务器127.0.0.1:4567
但我无法通过外部 IP 地址看到它,使用
http://24.61.999.999:4567 # 注意,最后两个“999”IP 号码出于安全原因被隐藏
我错过了什么?
答案1
您似乎正在从外部打开 UDP 端口 5678,同时希望通过 HTTP 访问它(通常只使用 TCP)。将其更改为 TCP。
另外,您在内部机器的 localhost (127.0.0.1) 接口上运行 Sinatra 服务器。您可能应该将其更改为 192.168.0.105,否则它将无法从本地主机外部访问。
答案2
根据定义,您绑定的任何内容127.0.0.1
都是仅限本地主机的(环回流量不会被路由到任何地方)。
如果您想让您的服务可供外部使用,您必须让它监听指向您的路由器的 IP 地址(在您的情况下192.168.0.105
)。
此外,您还需要缩小前向声明中的端口范围,因为您可能会以这种方式意外打开不应该从外部访问的端口。