Bad Request - Invalid Hostname with Asp.net WebAPI project in Visual Studio 2013 在Visual Studio 2013中的Asp.net WebAPI项目中出现无效的主机名的错误请求。
Bad Request - Invalid Hostname with Asp.net WebAPI project in Visual Studio 2013 在Visual Studio 2013中的Asp.net WebAPI项目中出现无效的主机名的错误请求。
我在Visual Studio Pro 2013中运行一个非常基本的WebAPI项目。在我的本地机器上,它可以正常运行在localhost上。然后,我尝试从另一台机器上的浏览器访问:57571,类似于我在Rails应用程序中通过将服务器的IP地址和端口号指向来访问。然后我得到错误请求 - 无效的主机名 HTTP错误400。请求的主机名无效。
我还在Azure上使用了两台Windows机器进行了复制。其中一台运行Visual Studio Pro 2013。我运行相同的应用程序,它在本地运行正常。然后,如果我尝试从另一个虚拟机指向它(在相同的虚拟网络上,我也可以ping通服务器虚拟机),我仍然得到错误请求 - 无效的主机名 HTTP错误400。请求的主机名无效。
请注意,我不关心自定义域名,我只想能够使用IP地址从另一台机器上运行此应用程序。这可行吗?(如果可以,有什么我做错的想法吗?)
这是我尝试过的:
如何确定Visual Studio正在以管理员身份运行?
(我正在使用Visual Studio运行的Windows Server 2012 R2。我在两台机器上都关闭了防火墙)
在使用Visual Studio 2013中的Asp.net WebAPI项目时,出现了“Bad Request - Invalid Hostname”的错误。根据以下内容,我找到了出现这个问题的原因和解决方法。
首先,我打开了Visual Studio 2013中的“applicationhost.config”文件,路径为“C:\users\yourusername\Documents\IISExpress\config\applicationhost.config”。然后,我在文件中添加了以下代码:
<binding protocol="http" bindingInformation="*:53676:*" />
这个代码段的作用是指定绑定的协议为http,并将端口号设置为53676。然后,我保存了文件,并重新运行了项目,发现问题得到了解决。
另外,如果使用的是Visual Studio 2015,那么修改“application.config”的位置应该为以下路径:
C:\Users\\{YourUsername}\Documents\Visual Studio 2015\Projects\\{ThisSolutionName}\\.vs\config\applicationhost.config
在“application.config”文件中,可以在以下父节点中找到绑定的配置信息:
<system.applicationHost> <sites> <site name="WebSite1" id="1" serverAutoStart="true"> <bindings> <binding protocol="http" bindingInformation=":8080:localhost" /> </bindings> </site> </sites> </system.applicationHost>
在这个节点下,可以修改绑定的配置信息。根据我的经验,这个节点大约位于第161行。
还有一点需要注意的是,如果使用了Azure的VNet到VNet连接,在网络中重新分配了客户端的IP地址,那么原先认为的客户端IP地址可能是错误的。因此,需要查找新映射的IP地址,以便正确配置绑定策略。
总结一下,要解决“Bad Request - Invalid Hostname”错误,可以在“applicationhost.config”或“application.config”文件中添加正确的绑定配置信息。
这个问题的出现原因是在使用Visual Studio 2013的ASP.NET WebAPI项目时,出现了“Bad Request - Invalid Hostname”错误。解决方法是以管理员身份运行Visual Studio。
问题出现时,我使用的是最新的Windows 10 Pro操作系统和Visual Studio 2019开发工具。
在解决这个问题之前,我尝试了所有与此问题相关的解决方法,但没有成功。我一直收到“Unable to connect to web server 'IIS Express'”错误提示,这导致我走入了错误的方向。
最后,我尝试以管理员身份运行Visual Studio,并且问题得到解决。这可能是因为管理员权限允许Visual Studio在需要时进行必要的系统配置和访问。
,解决这个问题的方法是以管理员身份运行Visual Studio。这个解决方案可能适用于其他版本的Windows操作系统和Visual Studio开发工具。