我在我的机器上运行devstack并创建了一个Alpine Linux实例,它在端口3000上运行Rails API(IP 10.0.0.6)(也试过80,8080)。然后我创建了一个简单的CirrOS客户端实例(IP 10.0.0.4)来访问API的/ test端点。但是,我发现我可以ŕun:
ping 10.0.0.6
来自CirrOS实例的并接收数据包的响应。但是,当我尝试:
curl -XGET http://10.0.0.6:3000/test
我收到错误:
curl: (7) couldn't connect to host
这两个实例属于专用网络,安全组策略允许任何类型协议的Ingress和Egress。
/ test端点在API实例上本地工作。 我还测试了我能够从一个实例到另一个实例进行ssh连接。
我可以丢失哪些配置?谢谢!
答案 0 :(得分:1)
找到了解决方案。
在openstack方面,这不是一个错误的配置。
我需要使用标志-b 0.0.0.0运行rails以允许任何IP。默认情况下,Rails仅为本地主机IP提供服务。
rails s -b 0.0.0.0
答案 1 :(得分:0)
您始终可以在服务器正在运行的特定端口上尝试telnet ing
来查找问题,无论是网络问题还是其他任何配置问题。