内网 HTTPS 服务自签名证书配置指南(支持 VIP + 多服务器 IP+忽略浏览器安全提醒)
🛡️ 内网 HTTPS 服务自签名证书配置指南(支持 VIP + 多服务器 IP)
一、背景
在内网环境中,通过 VIP(如 11.196.188.25) 访问部署在多台服务器(如 11.196.188.2 和 11.196.188.3)上的 HTTPS 服务时,若使用自签名证书,浏览器会提示不安全。
本方案教你如何生成一张支持 多 IP(VIP + 实际服务器) 的自签名证书,并正确部署到 Nginx,同时解决浏览器信任和 WAF 证书同步问题。
二、解决方案概览
- 用 OpenSSL 生成一张 包含 VIP 和实际服务器 IP 的自签名证书
- 配置 Nginx 使用该证书提供 HTTPS 服务
- 将证书导入客户端(浏览器/操作系统)信任区,消除浏览器警告
- 若有 WAF,需同步更新 WAF 上的 SSL 证书
三、操作步骤
1️⃣ 创建 OpenSSL 配置文件(xxx.cnf)
新建文件 xxx.cnf
,内容如下:
[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn x509_extensions = v3_req [dn] C = CN ST = Beijing L = Beijing O = YourOrg OU = YourUnit CN = 11.196.188.25 # VIP [v3_req] subjectAltName = @alt_names [alt_names] IP.1 = 11.196.188.25 # VIP IP.2 = 11.196.188.2 # 实际服务器1 IP.3 = 11.196.188.3 # 实际服务器2
2️⃣ 生成证书和私钥
执行命令生成自签名证书 server.crt
和私钥 server.key
:
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 \ -keyout server.key \ -out server.crt \ -config xxx.cnf
3️⃣ 配置 Nginx 使用证书
将 server.crt
和 server.key
部署到 Nginx 服务器(VIP 或实际服务所在机器),修改 Nginx 配置,例如:
server {
listen 11.196.188.25:8008 ssl;
server_name 11.196.188.25;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
location / {
proxy_pass http://backend;
}
}
📌 注意:
server.crt
就是证书文件,有些地方也叫server.pem
,可自行重命名,但内容不变。
重载 Nginx:
nginx -t && systemctl reload nginx
4️⃣ 客户端导入证书(消除浏览器警告)
由于是自签名证书,需手动导入到客户端信任区:
- Windows:双击
server.crt
→ 安装到“受信任的根证书颁发机构” - macOS:双击证书 → 钥匙串访问 → 信任设置为“始终信任”
- Linux:导入到系统或用户 CA 区域
重启浏览器访问:
👉 https://11.196.188.25:8008/
,确认无警告。
5️⃣ 若有 WAF,记得同步更新证书!
🔒 如果你的 VIP 前面有 WAF(如安全网关、防火墙等),浏览器访问时实际看到的是 WAF 的 SSL 证书!
✅ 所以,你还要登录 WAF 管理后台,将 WAF 上配置的 HTTPS 证书替换为刚生成的 server.crt
和 server.key
,并重载 WAF,否则浏览器仍然显示旧证书或报错。
四、总结
步骤 | 操作 |
---|---|
1 | 用 OpenSSL 生成支持 VIP + 多服务器 IP 的自签名证书(xxx.cnf 配置) |
2 | 配置 Nginx 使用该证书,监听 VIP 的 HTTPS 端口 |
3 | 将证书导入客户端信任区,浏览器不再报警 |
4 | 若有 WAF,同步更新 WAF 的 SSL 证书 |
✅ 按上述步骤操作后,你的内网 HTTPS 服务即可通过 VIP 安全访问,支持多服务器 IP,且浏览器信任、无警告!