You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IIS Express中用53135端口运行HTTPS的ASP.NET Core应用

解决ASP.NET Core 2.0 HTTPS应用任意端口运行的问题

这个问题我之前也碰到过,核心原因是IIS Express默认只在44300-44399这个区间预配置了SSL证书绑定,其他端口没有对应的证书映射,导致启动时抛出进程ID相关的错误。下面给你几个可行的解决方案:

1. 手动绑定SSL证书到目标端口

这是最直接的方法,通过命令行将你的证书绑定到想要使用的端口:

  • 第一步:获取证书的Thumbprint
    打开PowerShell,执行以下命令找到你使用的file1.pfx证书的指纹:

    Get-ChildItem -Path Cert:\LocalMachine\My
    

    在输出中找到对应证书的Thumbprint字段,复制这个字符串(注意去掉空格)。

  • 第二步:绑定证书到端口
    以管理员身份打开命令提示符(CMD)或PowerShell,执行以下命令:

    netsh http add sslcert ipport=0.0.0.0:53135 certhash=你的证书Thumbprint appid={任意GUID}
    

    说明:

    • ipport=0.0.0.0:53135:替换成你想要使用的端口(比如53135)
    • certhash:粘贴第一步复制的证书指纹
    • appid:可以用New-Guid命令生成一个新的GUID,比如{12345678-1234-1234-1234-1234567890AB}

2. 修改项目的launchSettings.json配置

如果是通过Visual Studio启动应用,可以修改项目根目录下Properties/launchSettings.json文件:

  • 找到iisSettings下的sslPort,将其值改为你想要的端口(比如53135)
  • 同时确保profiles中对应的applicationUrl设置为https://localhost:53135
  • 保存配置后,重新启动应用,Visual Studio会自动尝试为该端口配置证书绑定(如果没有权限可能需要管理员身份运行VS)

3. 确保代码与证书绑定匹配

你的Program.cs代码已经指定了证书和端口,但需要注意:

  • 确保运行应用的用户拥有绑定SSL端口的权限(通常需要管理员权限)
  • 检查指定的证书路径是否正确,密码是否匹配
  • 确认UseUrls中的端口和你绑定证书的端口完全一致

额外注意事项

  • 检查目标端口是否被其他程序占用,可通过以下命令查看:
    netstat -ano | findstr :53135
    
    如果有结果,说明端口被占用,需要更换端口或关闭占用该端口的进程
  • 如果使用自签名证书,记得将其添加到受信任的根证书颁发机构,否则浏览器会提示安全风险,但这不会影响应用启动

内容的提问来源于stack exchange,提问作者Suganya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:48:38