Visual Studio 2015 / IISExpress 更改 SSL 端口

Visual Studio 2015 / IISExpress change SSL port

我有 2 个项目,一个 Web API 和一个客户端 angularJS 项目(使用空项目模板创建)。我的客户要求我强制使用 SSL,因此对于 Web API,我创建了一个 filterAttribute。 无论如何,我将这两个项目都更改为启用了 SSL。问题是,这两个项目都显示它们的 SSL URL 为 http://localhost:44300,这显然行不通。

所以我决定更改 applicationhost.config 文件。 对于 Visual Studio 2015,这似乎在 .vs 文件夹中。当我在那里更改它时,如果我打开我的项目,它会覆盖它并将其放回 44300.

我尝试创建一个虚拟目录(在我的 API 的属性中)并尝试覆盖应用程序根目录 URL。 都没有用。

有谁知道如何使用不同的 SSL 端口?

我有两个项目有同样的情况。 Visual Studio 2015 为 HTTP 正确分配了不同的 URL 端口号,但为 HTTPS 将两个项目映射到 44300。

AFAIK .vs\config 中的 applicationhost.config 似乎定义了 IIS Express 环境并告诉 IIS Express 在调用时如何表现。此信息不会反馈到 Visual Studio.

Visual Studio 似乎依赖于 .csproj 文件中的设置。这是您在 VS 中查看项目属性时看到的 SSL 端口值。

我能够通过调整两个项目来理清这两个项目:

  1. 更改我项目的 .csproj 文件中的 IISExpressSSLPort 值
  2. 我还需要确保 https 绑定包含在 applicationhost.config

.csproj

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>44301</IISExpressSSLPort>

applicationhost.config

<bindings>
   <binding protocol="http" bindingInformation="*:58001:localhost" />
   <binding protocol="https" bindingInformation="*:44301:localhost" />
</bindings>

更新:

文件.csproj.user也有SSL端口配置,避免覆盖applicationhost.config文件中的SSL端口号,.csproj.user 也应该更新。

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>44301</IISExpressSSLPort>

对于 Asp.Net 核心,请参阅“/Properties/launchSettings.json”文件。

对于 vs2015,我在我的解决方案中的 .vs\ 文件夹下找到了具有正确内容的文件 applicationhost.config。

右键单击您的项目,然后单击属性

转到“调试”选项卡,然后单击“删除”。