如何在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
相关产品推荐
相关产品推荐

