当前位置: 首页 > news >正文

多域名单证书如何配置 Nginx 实现共用同一个 SSL 证书

多域名共用证书的核心是使用包含多个域名的 SANs 证书或通配符证书,然后在 Nginx 不同 server 块中引用同一组证书文件。

只要证书的主题备用名称(SANs)或通配符规则覆盖了所有域名,Nginx 配置层面可以直接复用同一组证书文件。

  • 适用场景:同一主体下的多个子域名或关联主域名
  • 前置条件:确认证书文件中已包含所有需要绑定的域名
  • 验收标准:通过 HTTPS 访问测试及 OpenSSL 命令验证域名匹配

原理说明

Nginx 处理 HTTPS 请求时,依赖 TLS 握手过程中的 SNI(Server Name Indication)扩展来识别客户端请求的具体域名。服务器接收到域名信息后,会查找配置中匹配的 server 块,并加载该块指定的证书。

如果多个 server 块指向同一个证书文件,且该证书的有效域名列表(Common Name 或 Subject Alternative Name)包含了这些 server 块中定义的 server_name,那么握手就能成功通过。这不需要特殊的 Nginx 模块支持,是标准的 TLS 行为。

配置步骤

1. 确认证书覆盖范围

在配置之前,必须先确认你手中的证书文件是否真的包含了所有打算共用的域名。如果是单域名证书,强行配给其他域名会导致浏览器报“证书名称不匹配”错误。

openssl x509 -in /path/to/cert.crt -text -noout | grep DNS

检查输出中是否列出了所有需要配置的域名。

2. 编写 Nginx 配置

在不同的 server 块中,将 ssl_certificate 和 ssl_certificate_key 指向相同的路径。注意每个 server 块必须明确指定 server_name。同时建议在 80 端口配置强制跳转,确保 HTTP 请求自动切换到 HTTPS。

# HTTP 强制跳转至 HTTPS
server {listen 80;server_name example.com www.example.com;return 301 https://$server_name$request_uri;
}# HTTPS 配置 - 域名 1
server {listen 443 ssl;server_name example.com;ssl_certificate /etc/nginx/ssl/multi_domain.crt;ssl_certificate_key /etc/nginx/ssl/multi_domain.key;# 其他配置...
}# HTTPS 配置 - 域名 2
server {listen 443 ssl;server_name www.example.com;ssl_certificate /etc/nginx/ssl/multi_domain.crt;ssl_certificate_key /etc/nginx/ssl/multi_domain.key;# 其他配置...
}

3. 检查并重载

修改配置后,务必先测试语法,避免配置错误导致 Nginx 无法启动。

nginx -t
nginx -s reload

验证方法

1. 浏览器访问

分别使用不同的域名通过 HTTPS 访问,查看地址栏锁形图标是否正常,点击查看详情确认证书信息无误且无红色警告。

2. 命令行验证

使用 openssl 命令模拟客户端握手,指定 -servername 参数来测试 SNI 是否生效以及证书是否匹配。

openssl s_client -connect example.com:443 -servername example.com
openssl s_client -connect www.example.com:443 -servername www.example.com

观察输出中的 Verify return code 是否为 0,以及 Certificate chain 是否正确。

注意事项

1. 证书域名不匹配

这是最常见的问题。如果证书只包含 example.com,而配置了 blog.example.com,即使 Nginx 启动成功,客户端访问时也会报错。务必使用 SANs 证书或通配符证书。

2. 旧客户端兼容性

SNI 技术需要客户端支持。极少数非常古老的客户端(如 Windows XP 上的旧版 IE)不支持 SNI,可能导致握手失败。在现代互联网环境中通常可忽略。

参考来源

  • Nginx 官方文档,ngx_http_ssl_module,ssl_certificate 指令说明,URL: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate
  • OpenSSL 官方文档,x509 命令手册,URL: https://www.openssl.org/docs/man1.1.1/man1/x509.html

原文链接:https://www.zjcp.cc/ask/11738.html

http://www.jsqmd.com/news/863355/

相关文章:

  • 5分钟搞定百度网盘限速:baidu-wangpan-parse全功能指南
  • 基于微信小程序的社区遗失物品登记与认领系统
  • 3分钟解锁:让魔兽争霸3在现代Windows系统上完美运行的完整指南
  • 2026年还在为去AI痕迹困扰?这7款降AI工具实测有效,助力提升论文通过率! - 降AI实验室
  • Mixtral 8x7B:稀疏专家模型(MoE)高效推理实战指南
  • 2026邯郸装修公司综合实力测评指南(业主实测版) - GEO排行榜
  • MoE大模型稀疏激活原理与生产部署实战
  • 终极M3U8下载指南:N_m3u8DL-CLI-SimpleG的完整使用教程
  • 2026年05月20日最热门的开源项目(Github)
  • 解锁米哈游游戏字体:11款开源字体库完整使用指南
  • Mixtral 8x7B本地部署指南:MoE架构下的高性价比大模型实践
  • AMD Ryzen系统深度调试指南:SMUDebugTool专家级硬件诊断与性能调优实战
  • 银川光伏护栏网厂家推荐|宁夏路弘 本地品牌、实景业务、全场景适配 - 宁夏壹山网络
  • MoE大模型核心揭秘:Router路由机制与活跃参数原理
  • 四平方和定理
  • Keil MDK 5.34调试器重复显示问题解决方案
  • 话费充值卡怎么变现?这份全流程攻略你一定要看! - 团团收购物卡回收
  • 建筑玻璃可见光透射比遮阳系数检测仪:行业洞察、核心产品解析与选型指南 - 品牌推荐大师
  • WebPlotDigitizer终极指南:5步从图表图像中提取精准数据的免费工具
  • 银川施工围挡选哪家?本地源头工厂宁夏路弘一站式靠谱推荐 - 宁夏壹山网络
  • Mythos大模型:跨栈系统直觉与自主运维能力解析
  • 下一代搜索引擎会是 AI Agent Harness Engineering 吗?从检索信息到完成任务
  • 2026云南旅游实测封神!10款西双版纳私人定制团口碑出众体验佳 - 十大品牌榜
  • 炉石传说佣兵战记自动化脚本:3步实现高效游戏流程的终极指南
  • 11款米哈游游戏字体完整指南:免费获取原神、星穹铁道精美文字资源
  • 3个高效窗口管理技巧:用AlwaysOnTop重新定义你的多任务工作流
  • 大模型MoE架构揭秘:参数激活率如何决定推理性能
  • ncmdumpGUI:Windows平台网易云音乐NCM文件免费转换终极指南
  • Joy-Con Toolkit深度解析:开源手柄控制工具实战指南
  • 如何将闲置话费充值卡快速变现?实用攻略让你秒上手 - 团团收购物卡回收