最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 中 HTTPS 配置如何在测试环境中配置临时自签名证书跳过验证
时间:2026-08-24 11:54:48 编辑:袖梨 来源:一聚教程网
核心思路是生成含SAN的自签名证书并正确配置Nginx,再通过客户端手动信任或忽略校验;必须显式声明DNS和IP等SAN条目,否则浏览器报NET::ERR_CERT_COMMON_NAME_INVALID。
在测试环境用 Nginx 配 HTTPS,临时跳过证书验证的核心思路是:自己生成带 SAN 的自签名证书 + Nginx 正确加载 + 客户端主动忽略或信任。重点不是“跳过服务端验证”,而是让浏览器、curl 或前端请求不因证书问题中断连接。
生成带 SAN 的自签名证书
现代浏览器(Chrome/Firefox/Safari)和 curl 会强制校验 Subject Alternative Name(SAN),只写 CN=localhost 不够,必须显式列出所有访问方式(域名、IP)。
- 创建证书目录:
sudo mkdir -p /etc/nginx/ssl - 执行命令(OpenSSL 3.0+):
openssl req -x509 -nodes -days 365 -newkey rsa:2048-keyout /etc/nginx/ssl/nginx.key-out /etc/nginx/ssl/nginx.crt-subj "/CN=localhost"-addext "subjectAltName = DNS:localhost,IP:127.0.0.1,IP:192.168.1.100"(把
192.168.1.100换成你服务器实际内网 IP) - 设权限:
sudo chmod 600 /etc/nginx/ssl/nginx.key和sudo chmod 644 /etc/nginx/ssl/nginx.crt
Nginx 配置 HTTPS server 块
只需一个标准 443 server 块,路径、协议、加密套件三处不能错。
- 监听并启用 SSL:
listen 443 ssl; - 指定证书路径:
ssl_certificate /etc/nginx/ssl/nginx.crt;ssl_certificate_key /etc/nginx/ssl/nginx.key; - 禁用老旧协议:
ssl_protocols TLSv1.2 TLSv1.3; - 基础加密套件(兼容性好):
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; - 可选 HTTP 自动跳转:
server { listen 80; return 301 https://$host$request_uri; }
客户端侧临时跳过验证的方法
自签名证书本身不被系统信任,需按需处理,无需全局部署根证书。
- Chrome / Edge:访问时点「高级」→「继续前往(不安全)」,仅限单次调试
-
curl 测试:加
-k参数,如curl -k https://localhost -
macOS:双击
.crt文件 → 导入钥匙串 → 右键证书 →「显示简介」→「信任」→ 设为「始终信任」 -
前端 JavaScript 请求:无法绕过浏览器证书校验,只能靠上述手动信任或改用
http://调试接口
验证是否生效
配置完成后别忘了检查和重载:
- 检查语法:
nginx -t - 重载配置:
sudo systemctl reload nginx或sudo nginx -s reload - 确认监听:
ss -tlnp | grep :443 - 本地访问:
curl -k https://localhost应返回响应,无证书报错
相关文章
- 粉笔公考官网首页入口在哪 08-24
- 小米路由器放大器如何连接(小米路由器放大器连接方法) 08-24
- EDIUS如何建立4K工程预设 08-24
- 顺丰小哥如何申请物料 08-24
- 优酷如何清空观看记录 08-24
- 哪里下载Win7旗舰版官方安装包 08-24