繁体   English   中英

无法从同一网络上的另一台计算机访问本地Sinatra服务器

[英]Cannot access local Sinatra server from another computer on same network

我有一个简单的Sinatra服务器,我通过textmate运行,但我无法从同一网络上的另一台计算机访问。

我在Mac OS 10.8.3上运行Ruby 1.9.3p327和Sinatra 1.4.1。 防火墙已禁用。

我在不同的网络和计算机上测试了相同的场景。

计算机响应简单的ping但当我尝试telnet端口4567时,我无法建立连接。

最近由于安全考虑,Sinatra提交了将开发模式中的默认监听地址从0.0.0.0更改为localhost

为了明确允许从网络访问,您需要以其他模式(例如生产)运行应用程序,或将bind选项设置为0.0.0.0

您可以使用-o选项使用内置服务器从命令行执行此操作:

$ ./my_sinatra_file.rb -o 0.0.0.0

确保sinatra服务器不仅侦听localhost(127.0.0.1)的ip地址。

我正在寻找一些额外的信息,可以帮助像我这样的人撞墙。

我在Windows机器上,而不是Mac机器上,我不得不向公众打开我正在使用的端口(Sinatra默认为4567)(即使我在大学网络上)。

要在Windows 10中执行此操作:

  1. 点击Windows键
  2. 搜索防火墙并按Enter键
  3. 转到高级设置
  4. 单击左上角的入站规则
  5. 单击右上角的新规则
  6. 单击端口选项
  7. 输入您的港口(Sinatra可能是4567)
  8. 下一个
  9. 现在选择域/私人/公共。

现在要考虑的另一件事是谁可以访问您的Web服务器。 如果你想要任何人,那就选择公开。 我不确定(并且会喜欢其他人的输入)如何只在同一公共网络上连接设备。 您也可以允许特定的IP,但为此我建议您自己做一些研究。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM