我创建了一个运行AppHostHttpListenerBase
的ServiceStack Windows服务。我可以通过监听服务器的私有IP地址来监听远程请求(例如http://1.2.3.4:8080/
。在这种情况下,我可以使用服务器的公共IP地址在Internet上使用服务,但是在服务器http://localhost:8080/
失败。
如果我将绑定地址更改为http://*:8080/
,则localhost
的请求成功,但我无法再通过Internet访问服务器;我得到503服务不可用。
如何让我的网络服务能够通过互联网收听本地请求和请求?
同样重要的是,为什么当放松从特定IP到*
的侦听地址的限制时,互联网上的请求突然开始失败?< / p>
答案 0 :(得分:5)
可能是某些其他侦听器已在处理请求,而*仅匹配未处理的请求。我会试着听http://+:8080/
,希望它有所帮助。
有关HttpListenerPrefix的更多信息,请参阅https://msdn.microsoft.com/en-us/library/system.net.httplistenerprefixcollection.add(v=vs.110).aspx