使用Akka-HTTP
绑定对端口9000的调用时Http().bindAndHandle(routes, "localhost", 9000)
它开始收听'netstat -tulpn'所见的端口
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 127.0.0.1:9000 :::* LISTEN
本地可以使用此端口。 然而,当我拨打远程电话时,我得到:
curl: (7) Failed to connect to 169.254.0.2 port 9000: Connection refused
即使可以进行ping操作,也可以直接连接设备。我究竟做错了什么?
答案 0 :(得分:19)
将localhost
替换为0.0.0.0
,它会起作用。 localhost
仅用于本地。
答案 1 :(得分:2)
您需要绑定到IP地址:
Http().bindAndHandle(routes, "169.254.0.2", 9000)
答案 2 :(得分:1)
仅侦听localhost接口是一种很好的做法。在生产使用中,您应该通过代理(nginx或apache)
从公共接口捕获请求