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

如果只是本地测试,国家、地区、组织和有效期等信息可以保持默认。密钥长度可以选择 2048 位;如果需要更高的安全强度,也可以选择 4096 位。
创建证书所需要注意的地方

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 文件。导入向导中的证书存储位置请选择:

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

打开 certlm.msc

certlm.msc 界面

导入根证书

导入完成后,Windows 会信任由该根证书签发的本地证书。部分操作需要管理员权限,建议使用“以管理员身份运行”打开证书管理器。
4.在宝塔中配置网站 SSL
下面以宝塔面板为例,将生成的证书配置到 Nginx 或 Apache。
进入网站管理页面,打开:

SSL -> 其他证书

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

证书(PEM格式):
certificate.pem

密钥(KEY):
private_key.key

宝塔 SSL 面板

保存证书后,重启当前网站使用的 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 缓存

CertTool 生成的是自签名证书,适合本地开发、内网测试和临时 HTTPS 环境,不适合直接用于公网生产网站。正式网站仍然建议使用受公开信任的 CA 证书,并配置自动续期。

下载地址

https://github.com/gaoyia/CertTool

https://pan.baidu.com/s/1xIq7VL0FC77TN2RBhSUMFQ?pwd=y4vp 提取码: y4vp

https://pan.quark.cn/s/d18659f8c6a3

未经允许不得转载:网站源码、软件资源与技术教程分享 - 今夕资源网 » Windows 本地 HTTPS 配置教程:使用 CertTool 创建自签名证书并部署到宝塔
扫码在手机上阅读本页
赞(0)

评论抢沙发

评论前必须登录!