我最近遇到了我的 的问题。 AWS EC2 实例。问题是我无法通过公共(public) IP 访问我的 Rails 服务器,但我可以访问 localhost 并且服务器会响应。
这就是我正在做的事情:
所以我认为这与我安装 Rails 的方式有关,但我尝试过使用该安装脚本以外的方法,但遇到了同样的问题……我什至尝试过创建一个全新的 AWS 账户以防万一我搞砸了原始帐户中的设置但没有任何运气。我以前能够让 Rails 在 EC2 实例上运行得很好(事实上,我现在有使用相同安全组的 EC2 实例在我的 AWS 账户上运行,并且可以很好地访问这些公共(public) IP),但现在我只是在敲我的头靠墙...任何帮助将不胜感激!
编辑:现在,我已经将 nginx 配置为访问我的 Rails 服务器......至少现在可以使用......虽然我仍然很好奇为什么我不能直接访问我的 Rails 服务器......
最佳答案
检查 rails 是否在 0.0.0.0 或 127.0.0.1 上监听,默认是仅在 localhost 上监听。
-b, --binding=IP Binds Rails to the specified IP.
Default: localhost
来自 Ruby on Rails 4.2 Release Notes :
Due to a change in Rack, rails server now listens on localhost instead of 0.0.0.0 by default. This should have minimal impact on the standard development workflow as both http://127.0.0.1:3000 and http://localhost:3000 will continue to work as before on your own machine.
关于ruby-on-rails - 无法从公共(public) IP 连接到 EC2 上运行的 Rails 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727798/