【问题标题】:Visual Studio 2015: Custom Domains in IIS Express - Invalid HostnameVisual Studio 2015:IIS Express 中的自定义域 - 主机名无效
【发布时间】:2015-09-09 18:05:15
【问题描述】:

我升级了我的 ASP.NET MVC 项目以使用 Visual Studio,但出现了令人讨厌的 Bad Request - Invalid Hostname 错误。过去曾针对 Visual Studio 的早期版本(例如 Using Custom Domains With IIS Express)记录了此问题,但我似乎找不到 Visual Studio 2015 的解决方案。

我使用许多自定义域(例如http://foo.testsite.local:1299)来运行我的网站。我以管理员身份运行 Visual Studio,我在 applicationhost.config 中的绑定如下所示:

        <bindings>
          <binding protocol="http" bindingInformation="*:1299:" />
          <binding protocol="https" bindingInformation="*:44300:" />
        </bindings>

这在 Visual Studio 2013 中运行良好,但由于某种原因,在 Visual Studio 2015 中运行我的 ASP.NET MVC 应用程序返回:

HTTP/1.1 400 Bad Request

Bad Request - Invalid Hostname

有什么解决方法吗?我需要在绑定中使用通配符而不是硬编码的 URL,因为我的应用支持多个域名(包括自定义子域)。

我应该注意到http://localhost:1299 确实适用于这些设置。

【问题讨论】:

    标签: asp.net-mvc visual-studio visual-studio-2015 iis-express


    【解决方案1】:

    默认情况下,VS 2015 解决方案不再使用用户文件夹中的 applicationhost.config 文件。相反,他们会在解决方案下的 .vs\config 文件夹中即时创建一个。如果要使用用户文件夹中的全局文件,请在项目文件中设置以下属性。这是每个项目的设置。

    <UseGlobalApplicationHostFile>
        true
    <UseGlobalApplicationHostFile>
    

    【讨论】:

    • @Bill 抱歉,格式删除了 xml。它应该是`true'
    【解决方案2】:
    1. 转到路径 = C:\Users\(用户名)\Documents\Visual Studio 2015\Projects\{您的项目文件夹}\.vs\config。
    2. 编辑文件 applicationhost.config 如下: 将绑定协议="http" bindingInformation=":1743:localhost" 更改为 绑定协议="http" bindingInformation=":1743:*"
    3. 以管理员身份打开 cmd 并键入: netsh http 添加 urlacl url=http://*:1743/ user=everyone

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 2019-05-13
      相关资源
      最近更新 更多