Windows 本地 HTTPS 配置教程:使用 CertTool 创建自签名证书并部署到宝塔

本文默认使用 Windows 环境,并以 www.test.com 作为示例域名。开始之前,请先安装 CertTool,并准备好需要绑定的域名或内网 IP。

1.创建证书

打开 CertTool,进入证书创建页面。

创建证书时,主要注意"通用名称"和"备用名称"两个字段。

通用名称主要用于标识证书,可以填写域名,也可以填写便于自己识别的名称。

备用名称 SAN 则需要填写实际访问时使用的域名和 IP 地址。现代浏览器通常会优先校验证书中的 SAN,如果访问地址没有写入备用名称,即使根证书已经导入系统,也可能出现证书名称不匹配的错误。

例如:

复制代码
通用名称:
www.test.com

备用名称:
www.test.com
test.com
127.0.0.1
192.168.1.100

2.导出证书文件

证书创建成功后,先点击查看详情,确认域名、备用名称和有效期没有填写错误。

确认无误后,将证书相关文件全部导出到指定文件夹。

CertTool 会根据配置生成多个证书文件,常用文件的用途如下:

复制代码
certificate.pem   网站使用的证书
private_key.key   网站使用的私钥
certificate.crt   用于导入系统信任存储的根证书

其中,private_key.key 属于敏感文件,不要上传到公开仓库,也不要通过不安全的方式发送给其他人。

3.导入 Windows 根证书

按下 Win + R,打开运行窗口,输入:

复制代码
certlm.msc

这里要注意,本文使用的是本地计算机证书管理器 certlm.msc,不是当前用户证书管理器 certmgr.msc。

打开证书管理器后,找到:

复制代码
受信任的根证书颁发机构
└── 证书

在"证书"上点击鼠标右键,选择:

复制代码
所有任务 -> 导入

然后选择 CertTool 导出的 certificate.crt 文件。导入向导中的证书存储位置请选择:

复制代码
将所有的证书都放入下列存储
受信任的根证书颁发机构

导入完成后,Windows 会信任由该根证书签发的本地证书。部分操作需要管理员权限,建议使用"以管理员身份运行"打开证书管理器。

4.在宝塔中配置网站 SSL

下面以宝塔面板为例,将生成的证书配置到 Nginx 或 Apache。

进入网站管理页面,打开:

复制代码
SSL -> 其他证书

将导出的文件内容分别复制到对应输入框:

复制代码
证书(PEM格式):
certificate.pem

密钥(KEY):
private_key.key

保存证书后,重启当前网站使用的 Nginx 或 Apache 服务。

本地测试时,建议暂时关闭宝塔中的"强制 HTTPS"选项。强制跳转会把 HTTP 自动重定向到 HTTPS,如果证书、域名解析或站点配置还没有完成,可能造成循环跳转或无法访问。

接下来修改 Hosts 文件,将域名指向正确的服务器地址。

如果网站运行在本机,可以填写:

复制代码
127.0.0.1   www.test.com

如果网站部署在局域网服务器,则填写服务器的内网 IP:

复制代码
192.168.1.100   www.test.com

Windows Hosts 文件位置为:

复制代码
C:\Windows\System32\drivers\etc\hosts

也可以直接使用 CertTool 内置的 Hosts 编辑器进行修改。保存后,在浏览器中访问:

复制代码
https://www.test.com

5.浏览器无法访问时的处理方法

如果系统已经导入根证书,但 Edge 仍然提示证书错误,可以按照下面的顺序排查。

首先确认访问地址和证书中的 SAN 完全一致。例如证书中填写的是 www.test.com,访问时就不要改成 test.com 或其他没有配置的域名。

然后在 Edge 地址栏输入:

复制代码
edge://settings/privacy

找到"安全性"相关设置,暂时关闭"自动 HTTPS"。不同版本的 Edge 选项名称可能略有差异,如果找不到该选项,可以跳过这一步。

接着清理浏览器保存的 HSTS 记录:

复制代码
edge://net-internals/#hsts

在 Delete domain security policies 下方输入:

复制代码
www.test.com

点击删除,然后找到 Flush socket pools 并执行清理。完成后彻底关闭 Edge,再重新打开。

如果仍然无法访问,可以清理 Windows DNS 缓存。按下 Win + R,输入 cmd,执行:

复制代码
ipconfig /flushdns

看到缓存清理成功后,再重新访问:

复制代码
https://www.test.com

6.常见问题排查

如果浏览器仍然提示证书错误,可以检查以下内容:

  1. CertTool 创建证书时是否包含当前访问域名。

  2. 备用名称 SAN 中是否填写了实际访问的域名或 IP。

  3. Hosts 文件是否保存成功。

  4. 域名是否解析到了正确的服务器地址。

  5. 宝塔中的证书和私钥是否来自同一组文件。

  6. Nginx 或 Apache 是否已经重启。

  7. 根证书是否导入到了"受信任的根证书颁发机构"。

  8. Windows 系统时间是否准确。

  9. 浏览器是否仍然缓存了旧证书。

  10. 宝塔中的"强制 HTTPS"是否造成了循环跳转。

通常情况下,只要根证书正确导入 Windows 的信任存储,Edge 就可以使用系统信任关系,不需要重复导入证书。

如果仍然不信任,可以打开:

复制代码
edge://settings/privacy/security

部分 Edge 版本也支持:

复制代码
edge://certificate-manager/

需要导入的是根证书,例如:

复制代码
certificate.crt

不要把 private_key.key 私钥文件导入浏览器,也不要将私钥上传到在线检测网站。

最后,整个配置流程可以概括为:

复制代码
创建证书
-> 配置域名和 SAN
-> 导出证书文件
-> 导入 Windows 根证书
-> 配置宝塔 SSL
-> 修改 Hosts
-> 清理浏览器 HSTS 和 DNS 缓存

下载地址

https://github.com/gaoyia/CertTool

百度网盘 请输入提取码 提取码: y4vp

夸克网盘分享

相关推荐
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatGPT API
网络·c++·人工智能·websocket·网络协议·学习·chatgpt
4A广告文案10 小时前
名创优品在成都开了家“乐园”,顺便造了个新IP
网络·网络协议·tcp/ip
Akiyama_Mio-Kon11 小时前
2026 最新:Dify 本地 Docker 部署完整教程(Windows + Git Bash)
windows·git·docker
霸道流氓气质12 小时前
Spring AI 输出解析器进阶
人工智能·windows·spring
uoKent12 小时前
计网中的HTTP/HTTPS
网络协议·http·https
黄一一91124314 小时前
跨平台视频图片压缩互转!离线视频压缩工具!Github开源轻松无损压缩视频!Win/Mac/Linux三端通用开源工具
windows·macos·音视频·开源软件
wjcroom15 小时前
一个可以在线多人玩的五子棋开发与布署方法-WebRTC和WebSocket的测试方法
websocket·网络协议·webrtc
池塘游鱼15 小时前
VMware虚拟机安装Windows 10系统 超详细图文教程
windows·vmware
易点云徐源18 小时前
(已解决)BOSS直聘 Windows 客户端一直“加载中,请稍候”怎么办?
windows