为什么Puma rails服务器只接受localhost:3000而不是127.0.0.1:3000

时间:2015-02-17 06:20:04

标签: ruby-on-rails puma

尝试使用Puma作为我的Rails服务器。

有人知道为什么Puma rails服务器只接受localhost:3000而不是127.0.0.1:3000吗?

我想要测试Facebook OAuth,这需要一个IP地址。

3 个答案:

答案 0 :(得分:15)

你试过rails s -b 127.0.0.1 -p 3000吗?这总是对我有用。

答案 1 :(得分:0)

试试env PORT=port_number rails s -b your_IP_Address 服务器将从https://your_IP_Address:port_number

开始

答案 2 :(得分:0)

这个问题是Puma issue #782,在solved上是this patch。{p3

详细信息:您看到的问题是,默认情况下,Puma绑定到localhost,底层的Rails TcpServer将其视为普通主机名,并且在那里解析为一个IP地址( (如果您使用的是IPv6版本),则不能同时使用IPv4和IPv6版本。因此,如您所见,它不接受127.0.0.1:3000上的连接。但是,在当前版本中,localhost专门有一个例外,该例外现在绑定到IPv4和IPv6分辨率。