Web 应用在互联网上不可见

Web 应用在互联网上不可见

我在 FreeBsd 11 的 5555 端口上运行了一个 ruby​​ webapp。由于某种原因,它在互联网上根本看不到,尽管 ipfw 没有运行。

$ curl -i 12.34.55.66:5555
curl: (7) Failed to connect to 12.34.55.66:5555 port 5555: Connection refused

但是该应用程序可以从该服务器(从本地主机)看到:

curl -i 0.0.0.0:5555
[....returns data]

curl -i 127.0.0.1:5555
[....returns data]

原因何在?

更新:

$ sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS      
user123  ruby       93839 7  tcp6   ::1:5555              *:*
user123  ruby       93839 8  tcp4   127.0.0.1:5555        *:*

答案1

我不太确定这是否适用于此处,但某些 ruby​​ web 服务器webrick(例如 Rails 的默认 web 服务器)默认情况下不绑定到您的外部 IP。因此,这可能不是您的防火墙的问题,而只是缺少配置。鉴于 的输出sockstat,这里可能就是这种情况。对于webrick,您应该传递-b x.x.x.x给命令以将服务器绑定到您的外部 IP 地址。

相关内容