Visual Studio 2015/IISExpress更改SSL端口

r3p*_*ica 30 iis-express visual-studio-2015

我有2个项目,一个Web API和一个客户端angularJS项目(使用Empty Project模板创建).我的客户端要求我强制使用SSL,因此对于Web API,我创建了一个filterAttribute.无论如何,我将两个项目都改为SSL Enabled.问题是,两个项目都显示其SSL URL为http:// localhost:44300,这显然不起作用.

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

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

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

Gre*_*ell 55

我有2个项目的情况相同.Visual Studio 2015为HTTP正确分配了不同的URL端口号,但是将这两个项目映射到44300用于HTTPS.

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>
Run Code Online (Sandbox Code Playgroud)

对ApplicationHost.config

<bindings>
   <binding protocol="http" bindingInformation="*:58001:localhost" />
   <binding protocol="https" bindingInformation="*:44301:localhost" />
</bindings>
Run Code Online (Sandbox Code Playgroud)

更新:

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

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>44301</IISExpressSSLPort>
Run Code Online (Sandbox Code Playgroud)

  • 我发现修改.csproj文件就足够了.VS似乎使用我的项目当前配置重写applicationhost.config. (2认同)
  • 我相信“标准”IIS Express 功能只允许 44300 到 44399 的 SSL 端口。我看过描述如何使 IIS Express 在该范围之外工作的帖子,但这对我来说留在这些范围内并不是什么大问题100 个地址。 (2认同)

Sko*_*šek 22

对于Asp.Net Core,请参阅"/Properties/launchSettings.json"文件.

  • 但如果您使用 IISExpress,则 SSL 端口必须在 44300 到 44399 范围内。如果您选择此范围之外的内容,您将看到“无法访问此站点”或类似的空白页面。 (4认同)