对于本地运行的scala spray server,curl localhost有效,但curl <local ip =“”>获取“Connection refused”</local>

时间:2014-06-09 20:57:23

标签: linux scala curl spray

不确定这个问题与喷涂具体有什么关系,但我尝试用基于netty的服务器重现,并且卷曲本地ip似乎工作正常。有没有人知道什么可能导致以下不工作,即使它确实适用于基本的网络服务器:

$ ifconfig 
eth0      Link encap:Ethernet  HWaddr <my mac address>  
          inet addr:172.16.16.31
...
...
...
$ curl localhost:8080/myPath
myContent
$ curl 172.16.16.31:8080/myPath
curl: (7) Failed to connect to 172.16.16.31 port 8080: Connection refused

欢迎提供有关如何解决此问题的建议。

2 个答案:

答案 0 :(得分:2)

发现了这个问题。在这里回答以防其他人有同样的问题。我的喷涂服务器已使用如下命令初始化:

startServer(interface = "localhost", port = 8080) {

此接口规范似乎会导致此问题。如果我将它设置为机器的Ipv4地址,那么curling localhost就会失败并且卷曲ipv4地址会起作用(但仍然不能用于ipv6)。

答案 1 :(得分:0)

我遇到了类似的问题,将您的接口更改为:: 0,支持ipv4和ipv6地址。

我的代码如下所示

IO(Http) ? Http.Bind(service, interface = "::0", port = 8080)

更多:https://groups.google.com/forum/#!topic/spray-user/0kPXN1XVe0E