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

本地通过Hosts映射test.mywebsite到localhost后HTTPS证书验证失败求助

解决Chrome访问自定义域名时证书不匹配的问题

你的核心问题是:本地服务返回的是localhost证书,而非匹配test.mywebsite.com的证书,导致Chrome验证失败。以下是针对性解决步骤:

  • 确认服务器使用的证书
    多数开发服务器默认绑定localhost证书,需手动指定*.mywebsite.com的证书文件。以Node.js/Express为例,启动服务时要配置HTTPS选项:

    const https = require('https');
    const fs = require('fs');
    const express = require('express');
    const app = express();
    
    const options = {
      key: fs.readFileSync('/path/to/your/private.key'),
      cert: fs.readFileSync('/path/to/your/*.mywebsite.com.crt')
    };
    
    https.createServer(options, app).listen(3000);
    

    若用Nginx反向代理,需在虚拟主机配置中指定对应域名的证书,而非localhost证书。

  • 验证证书的SAN字段
    检查*.mywebsite.com证书是否包含test.mywebsite.com作为主题备用名称(SAN),部分工具生成通配符证书时可能遗漏该配置。用OpenSSL命令查看:

    openssl x509 -in your-cert.crt -text -noout
    

    找到X509v3 Subject Alternative Name字段,确认存在DNS:*.mywebsite.com或DNS:test.mywebsite.com。

  • 将证书导入系统信任库
    仅靠Chrome的flags无法解决证书信任问题,需把*.mywebsite.com证书导入系统受信任根证书机构:

    • Windows:打开证书管理器,进入「受信任的根证书颁发机构」导入证书。
    • macOS:打开钥匙串访问,将证书拖入「系统」钥匙串,右键选择「显示简介」,设置信任为「始终信任」。
  • 清除Chrome缓存与旧证书
    Chrome可能缓存了旧证书信息,需手动清理:

    1. 进入Chrome设置→隐私和安全→清除浏览数据,勾选「缓存的图片和文件」「Cookie和其他网站数据」,选择「所有时间」后清除。
    2. 访问chrome://settings/security→管理证书,删除旧的localhost或mywebsite相关证书。
  • 关于chrome://flags/#unsafely-treat-insecure-origin-as-secure的说明
    该flag用于将HTTP源标记为安全,你的场景是HTTPS证书不匹配,此设置无效,无需依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:57:09