Sinatra APP 运行 在家庭网络中无法访问覆盆子上的工头

Sinatra APP running with foreman on raspberry not reachable in Home-Network

我有一个问题。也许这很容易,我只是不支持它。 我写了一点 Sinatra (ruby) WebApp。它是 运行 一个 puma 服务器,由工头启动。我现在在我的 Raspberry(Raspian stretch)上启动它。这是工作。

14:28:45 web.1  | started with pid 10847
14:28:52 web.1  | Puma starting in single mode...
14:28:52 web.1  | * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
14:28:52 web.1  | * Min threads: 0, max threads: 16
14:28:52 web.1  | * Environment: development
14:28:52 web.1  | * Listening on tcp://localhost:10001
14:28:52 web.1  | Use Ctrl-C to stop

我可以在我的树莓派上本地访问它。

curl localhost:10001

这是有效的。

但我也想用我的 PC(家庭网络)访问它。这是行不通的。 我可以成功 ping 覆盆子。

ping 192.XXX.XXX.XX

但是当我对 运行 开启的端口执行 ping 操作时,它不起作用(也可以用我的浏览器试试)。我有一个fritzbox。

ping 192.XXX.XXX.XX:10001

过程文件:

web: bundle exec rackup -p 10001 -s puma

我不确定我做错了什么:-(。

默认情况下 rackup 绑定到本地主机。你必须告诉它在 0.0.0.0

上监听

rackup -p 10001 -o 0.0.0.0

rackup -p 10001 --host 0.0.0.0

此处相关来源:https://github.com/rack/rack/blob/master/lib/rack/server.rb#L56