自签名证书是用于本地开发和测试环境的SSL证书,不需要CA签发。本文将详细介绍如何制作和使用自签名证书。
一、什么是自签名证书
1. 自签名证书的定义
自签名证书是由自己签发的SSL证书,不需要CA验证,适用于本地开发和测试环境。
2. 自签名证书的特点
- 免费
- 快速生成
- 不受浏览器信任
- 仅适用于本地环境
二、制作自签名证书
1. 使用openssl制作
# 生成私钥
openssl genrsa -out private.key 2048
# 生成证书签名请求
openssl req -new -key private.key -out certificate.csr
# 生成自签名证书
openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certificate.crt
2. 使用mkcert制作
# 安装mkcert
brew install mkcert # macOS
# 或下载对应平台的二进制文件
# 安装本地CA
mkcert -install
# 生成证书
mkcert localhost 127.0.0.1 ::1
三、配置服务器
1. Nginx配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
# 其他配置...
}
2. Apache配置
<VirtualHost *:443>
ServerName localhost
SSLEngine on
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key
# 其他配置...
</VirtualHost>
四、浏览器信任
1. 添加信任
Chrome/Edge:
- 点击地址栏的锁图标
- 点击"证书"
- 点击"安装证书"
- 选择"受信任的根证书颁发机构"
Firefox:
- 点击地址栏的锁图标
- 点击"连接安全" → "更多信息"
- 点击"查看证书" → "导入"
Safari:
- 双击证书文件
- 添加到"系统"钥匙串
- 设置为"始终信任"
五、注意事项
1. 安全警告
- 自签名证书会显示安全警告
- 需要手动添加信任
- 仅适用于本地环境
2. 生产环境
- 不要在生产环境使用自签名证书
- 使用受信任CA签发的证书
- 推荐使用OHTTPS申请免费证书
六、最佳实践
1. 本地开发
- ✅ 使用mkcert生成证书
- ✅ 添加到浏览器信任
- ✅ 使用localhost域名
2. 测试环境
- ✅ 使用自签名证书
- ✅ 或使用免费证书(Let's Encrypt)
- ✅ 配置自动续期
总结
自签名证书适用于本地开发和测试环境,制作简单,但不受浏览器信任。对于生产环境,应使用受信任CA签发的证书。
OHTTPS: 免费HTTPS证书/SSL证书申请 • 自动化更新、部署、监控
OHTTPS 支持通过多种域名验证方式(DNS验证、HTTP验证、文件验证等)申请免费的HTTPS证书/SSL证书,包括单域名证书、多域名证书、通配符证书、IP证书等,支持HTTPS证书/SSL证书的自动化更新、自动化部署、自动化监控及告警等,并支持将HTTPS证书/SSL证书自动化部署至阿里云、腾讯云、群晖NAS、百度云、七牛云、多吉云、又拍云、宝塔面板、Docker容器、SSH等,实现HTTPS证书/SSL证书的一站式申请、更新、部署、监控和管理。