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

Angular调用C#控制器HTTPS请求出现ERR_CERT_COMMON_NAME_INVALID错误的解决方法

解决HTTPS请求的ERR_CERT_COMMON_NAME_INVALID错误

这个错误的核心原因是:你请求的域名ourlady不在HTTPS证书的**通用名(CN)或主体备用名称(SAN)**列表中,浏览器验证证书时发现域名不匹配,从而拦截请求。

以下是具体解决方法:

一、开发环境临时应急(仅测试用)

直接访问https://ourlady:4000,在浏览器的安全提示弹窗中选择信任该证书,完成后即可正常发起请求。

二、规范解决方法(适配开发/生产环境)

1. 重新生成包含目标域名的证书

如果使用自签名证书,生成时必须把ourlady加入证书的标识中:

  • 用OpenSSL生成的话,可通过以下命令指定通用名:
    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -subj "/CN=ourlady"
    
  • 若需要支持多个域名,需配置SAN扩展,在生成命令中添加-extfile参数,扩展文件内指定:
    subjectAltName = DNS:ourlady, DNS:其他域名
    

如果是CA颁发的正式证书,需向CA申请包含ourlady的证书(单域名或多域名证书均可)。

2. 确保后端使用正确证书

检查C#后端的Kestrel配置,确认加载的是包含ourlady域名的证书,示例配置(appsettings.json):

"Kestrel": {
  "Endpoints": {
    "Https": {
      "Url": "https://ourlady:4000",
      "Certificate": {
        "Path": "./certificates/your-cert.pfx",
        "Password": "证书密码"
      }
    }
  }
}

三、临时替代方案(开发阶段)

如果仅为快速测试,可暂时改用HTTP协议,修改environment.ts中的配置:

export const environment = {
  production: false,
  apiUrl: 'http://ourlady:4000'
};

注意:生产环境必须使用HTTPS,此方法仅用于开发测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:05:26