访问自己在服务器上搭建的网站

问题描述:我在Ubuntu服务器上建立了一个网站,在本机上用curl localhost或者127.1 都可以访问,但是就是直接用服务器的ip不行。

最初在网上查感觉问题无非就是防火墙设置(如果是这个原因就不用看后面的了)以及端口未打开或绑定不正确,可自己就是解决不了。最后我确定是后者的问题。

我的网站是用sinatra建立的,一开始运行的时候直接用 ruby run.rb

解决之前已有的工作

  1. 明白通过netstat -tnl可以查看端口及绑定的情况
  2. 之前运行成功过一个网站是通过 ruby -run -e httpd . -p 4567,这个可以直接访问

于是我仔细对比上面两种ruby运行网站的方式netstat -tnl 的结果有什么不同,对比后发现
访问自己在服务器上搭建的网站_第1张图片

ip那里不同,于是想到指定ip,这样就解决了:
ruby run.rb -o 0.0.0.0

总结 猜想大致就是只有0.0.0.0这种才被认为是所有主机都可以连入,否则就只能是指定的ip才行,其余都 connection refused

很高兴,没想到在一头雾水的情况下发现不同之处,于是柳暗花明。

你可能感兴趣的:(ruby)