使用.http文件请求本地HTTPS接口遇SSL连接错误及证书信任问题
问题描述
我创建了第一个.http文件app.http,内容如下:
GET https://localhost/FooBar
点击GET上方代码透镜(codelens)的「Send」按钮时,抛出错误:
The SSL connection could not be established, see inner exception.
但找不到内部异常信息,请问该在哪里查看?有没有办法阻止该异常抛出?
另外,使用Postman和Swagger访问https://localhost/FooBar均正常。
我搜索后在项目的PowerShell中执行命令:
dotnet dev-certs https --trust
得到输出:
Trusting the HTTPS development certificate was requested. A confirmation prompt will be displayed if the certificate was not previously trusted. Click yes on the prompt to trust the certificate.
但始终未出现确认弹窗,重启机器后问题依旧。
解决方案
1. 查看内部异常信息
- VS Code:打开「输出」面板(Ctrl+Shift+U),切换到「HTTP Client」频道,这里会显示完整的异常堆栈,包含内部异常详情。
- Visual Studio:点击请求结果面板底部的「Raw Response」,或者查看「Output」窗口的「HTTP Logs」分类,就能找到内部异常信息。
2. 临时阻止SSL异常抛出(仅开发环境)
想跳过SSL证书验证的话,直接在.http文件里添加@no-verify指令,修改后内容如下:
GET https://localhost/FooBar @no-verify
注意:这个方法只适合开发环境临时使用,生产环境绝对不能这么做。
3. 解决dotnet dev-certs --trust不弹窗的问题
试试这几个办法:
- 以管理员身份启动PowerShell,重新执行
dotnet dev-certs https --trust。 - 手动导入并信任开发证书:
- 执行命令:
dotnet dev-certs https -ep "$env:USERPROFILE/.aspnet/https/localhost.pfx" -p "password"(密码随便设置,比如"password"即可)。 - 按Win+R输入
certmgr.msc打开「管理用户证书」,找到「个人」→「证书」,导入刚才生成的pfx文件,导入时选择「将所有证书放入下列存储」→「受信任的根证书颁发机构」。
- 执行命令:
- 先检查证书状态:执行
dotnet dev-certs https --check,如果显示已信任,可能是VS/VS Code的HTTP客户端缓存问题,重启编辑器再试。
内容的提问来源于stack exchange,提问作者Ashley Kilgour
相关产品推荐
相关产品推荐

