无法通过浏览器访问RUBY文件,但可以从命令行访问它

时间:2018-07-04 13:33:21

标签: ruby nginx sinatra

我创建了一个名为server.rb的文件

require 'bundler' ; Bundler.require
get '/hello-world' do
  "Hello World!"
end

当我从命令行以curl http://localhost:4567的身份访问它时,我可以轻松看到Hello World!,但是当我通过浏览器以http://172.16.16.14:4567的身份访问时

172.16.16.14是本地服务器的IP,当我点击http://172.16.16.14/时,我可以看到nginx的默认页面。

我知道

This site can’t be reached
172.16.16.14 refused to connect. 

1 个答案:

答案 0 :(得分:1)

如@miknik的评论中所述,很有可能与服务器的bind选项有关。

在Sintara网站上记录:http://sinatrarb.com/configuration.html#bind---server-hostname-or-ip-address

这将允许来自任何主机的连接:

set :bind, '0.0.0.0'

Here's the actual PR用于设置默认绑定地址localhost,而不是0.0.0.0,这将允许来自任何主机的连接。 https://github.com/sinatra/sinatra/pull/634