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

如何通过CLI让IIS Express信任自签名SSL证书?

嘿,我知道在CI构建机器上配置Web API的SSL证书挺头疼的——毕竟Visual Studio在本地会自动弹提示帮你搞定,到了命令行环境就得手动来了。别担心,我给你一步步捋清楚怎么操作,确保Selenium测试能正常访问HTTPS端点:

解决CI机器上的Web API SSL证书配置问题

第一步:先拿到本地的开发证书(如果还没准备好)

如果你的开发机器上已经有Visual Studio自动生成的SSL证书,先把它导出来方便CI机器使用:

  • 按下Win+R,输入certmgr.msc打开「管理用户证书」
  • 找到「个人 > 证书」,定位到主题是localhost或者和你项目SSL绑定的那枚证书
  • 右键点击证书,选择「所有任务 > 导出」,选「不导出私钥」,保存成.cer格式的文件,传到CI机器上

第二步:在CI机器上安装并信任证书

Windows自带的certutil工具就能搞定这个,记得用管理员权限打开命令提示符:

  1. 把导出的.cer文件放到CI机器的某个路径,比如C:\temp\localhost-dev-cert.cer
  2. 运行以下命令,把证书添加到系统的「受信任的根证书颁发机构」:
certutil -addstore -f "Root" "C:\temp\localhost-dev-cert.cer"
  • -f 参数是为了强制覆盖可能已经存在的同名证书,避免冲突
  • 把证书放到根存储区,才能让浏览器和Selenium完全信任它,不会弹出SSL警告

第三步:确保Web API启动时使用正确的SSL配置

在CI构建环节启动Web API时,要明确指定HTTPS相关的配置:

  • 如果用dotnet run启动,要么指定包含SSL配置的启动配置文件,要么直接用--urls参数指定端口:
dotnet run --urls "https://localhost:5001;http://localhost:5000"
  • 提前确认CI机器上的目标端口没有被占用,用这个命令检查:
netstat -ano | findstr :5001

第四步:验证Selenium访问正常

搞定上面的步骤后,Selenium访问Web API的HTTPS端点时,就不需要额外跳过证书错误了——因为证书已经被系统信任。如果还是有问题,排查这两点:

  • 确认证书是安装到「本地计算机」的根存储区,而不是「当前用户」的(Selenium通常用系统级的信任列表)
  • 如果是用容器运行Selenium,得把证书也安装到容器内部的信任存储区,这个要单独处理

补充一句:Visual Studio弹出的那个SSL提示,本质上就是帮你把生成的localhost证书添加到信任存储区,我们在CI机器上用命令行做的就是完全一样的事儿,只不过手动执行罢了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:17:29