我使用Owin和topshelf创建了一个Windows服务
该应用程序是一个侦听端口9000的WebAPI,我已经在防火墙规则中允许了这个端口
当我在Windows Server 2008上执行.exe文件时,我可以在本地使用它(localhost:9000)
但是当我尝试从其他机器访问它时,我收到此错误消息:
HTTP Error 400. The request hostname is invalid
我错过了什么?
请帮忙。
答案 0 :(得分:11)
这解决了我的问题,这对你来说可能是非常明显的,但对我来说并不是那么多 而不是使用此代码:
WebApp.Start("http://localhost:8080/");
我必须使用它:
WebApp.Start("http://*:8080/");
当然,也不应该忘记在防火墙中打开端口。
答案 1 :(得分:0)
也许远程机器上的主机条目?记住" localhost"指向当前机器本身。您可能需要设置本地IIS服务器,将WebApi部署到该服务器,以便其他计算机可以看到它。
Incidentelly,您的ASP.Net开发服务器(Visual Studio的内置服务器)无法提供除localhost之外的其他页面,因此您可能需要使用Fiddler或Cassini等操作来欺骗它作为调试期间的路线。
这里有一些相关的答案: Can I access ASP.NET Development server in an intranet?
我希望它可以帮到你