本地开发环境的自签名 HTTPS 证书不被信任(net::ERR_CERT_AUTHORITY_INVALID)

问题描述

本地运行后端项目后,通过浏览器调用 API 时提示:

 POST https://<ip>:<port>/path net::ERR_CERT_AUTHORITY_INVALID

原因:本地开发环境使用的是 .NET 自签名 HTTPS 证书,浏览器默认不信任该证书。

解决方案

方案 1:信任 .NET 开发证书(推荐)

 dotnet dev-certs https --trust

如果提示证书已存在但不信任,先清理再重新生成:

 dotnet dev-certs https --clean
 dotnet dev-certs https --trust

一次性解决,之后所有 .NET 本地开发项目都会自动信任。

方案 2:使用 HTTP 端口

修改前端 SDK 的开发环境端点,使用 HTTP 端口 <code>5085</code> 而非 HTTPS 端口 <code>7218</code>:

 // webpack.config.js 或 sdk.js 中
 resolveEndpoint: 'http://<ip>:<port>/path'

方案 3:浏览器手动信任

  1. 直接访问 <code>https://<ip>:<port>/swagger</code>
  2. 浏览器会提示"不安全",点击"高级" → "继续访问"
  3. 之后该证书在当前浏览器会话中被临时信任

    方案 4:Chrome 启动参数(临时)

    # macOS
    open -a "Google Chrome" --args --ignore-certificate-errors --ignore-urlfetcher-cert-requests
    
    # Windows
    chrome.exe --ignore-certificate-errors --ignore-urlfetcher-cert-requests

    注意:此方式会忽略所有证书错误,仅用于开发调试。