特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > SSL证书 > 正文内容

Nginx配置多个SSL证书实现多域名安全通信的完整指南

2025-10-02SSL证书282

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


随着现代 Web 应用架构的演进,单台服务器托管多个网站已成为常态,尤其在业务规模不断扩展的背景下,一台 Nginx 服务器往往需要同时支持多个独立域名或子域名(如 example.com、blog.example.com、shop.anotherdomain.com),而每个站点都应启用 HTTPS 加密通信以保障用户数据安全,这就要求我们能够在同一台 Nginx 实例上为不同域名配置各自的 SSL/TLS 证书。

本文将系统讲解如何在 Nginx 中高效配置多个 SSL 证书,涵盖从证书申请、文件管理到虚拟主机配置、自动化维护及安全加固的全流程,帮助运维人员构建稳定、安全且易于维护的多站点 HTTPS 架构。


为什么需要为多个域名配置独立的 SSL 证书?

HTTPS 不再是“高级选项”,而是现代网站部署的基本标准,SSL/TLS 协议通过加密客户端与服务器之间的传输数据,有效防止中间人攻击、会话劫持和敏感信息泄露。

当一台服务器承载多个不同域名时,通常每个域名都需要拥有独立的 SSL 证书,虽然通配符证书(Wildcard Certificate)可以覆盖某个主域名下的所有一级子域名(*.example.com),但它无法跨域使用——对于完全不相关的域名(如 anotherdomain.com),仍需单独配置证书。

采用多证书策略的优势包括:

  • ✅ 更高的安全性隔离
    各域名使用独立证书,一旦某一张证书被泄露或吊销,不会波及其他站点,降低连锁风险。

  • ✅ 灵活的生命周期管理
    每个证书可独立更新、续期或撤销,便于按项目或团队进行权限划分和运维操作。

  • ✅ 充分利用 SNI 技术
    现代浏览器普遍支持 服务器名称指示(Server Name Indication, SNI) 扩展,允许在同一 IP 地址和端口上绑定多个 SSL 证书,极大提升了资源利用率。

⚠️ 注意:SNI 虽已广泛支持,但极少数老旧设备(如 Windows XP 上的 IE6)可能无法识别,生产环境若需兼容此类客户端,建议分配独立公网 IP。


准备工作:获取并组织 SSL 证书

在开始 Nginx 配置前,必须为每个目标域名准备有效的 SSL 证书,常见获取方式如下:

方式 特点 适用场景
Let’s Encrypt 免费证书 自动化程度高,有效期 90 天,支持自动续签 生产环境首选,适合大多数中小型项目
商业 CA 签发证书(DigiCert、GeoTrust、Comodo 等) 更长有效期(1–2 年)、更高信任等级、支持企业验证(EV) 对品牌信任度要求高的大型平台
自签名证书 无需外部依赖,生成简单 仅限测试或内网开发环境,不适用于公开服务

示例:使用 Certbot 申请 Let’s Encrypt 证书

假设我们需要为两个域名申请证书:

# 为主站及其 www 子域名申请证书
sudo certbot certonly --nginx -d example.com -d www.example.com
# 为另一个独立博客站点申请证书
sudo certbot certonly --nginx -d blog.anotherdomain.com

执行成功后,证书将自动存储于以下路径:

  • /etc/letsencrypt/live/example.com/fullchain.pem —— 证书链
  • /etc/letsencrypt/live/example.com/privkey.pem —— 私钥文件

同理,blog.anotherdomain.com 的证书也位于对应目录下。

🔐 安全提示:私钥文件(privkey.pem)极其敏感,请确保其权限设置为 600,且仅 root 用户可读写:

chmod 600 /etc/letsencrypt/live/*/privkey.pem
chown root:root /etc/letsencrypt/live/*/privkey.pem

核心实现:Nginx 多域名 SSL 配置详解

Nginx 使用 server 块(虚拟主机) 来区分不同的网站请求,每个 server 可监听相同的端口(443),并通过 server_name 和 ssl_certificate 指令指定对应的域名与证书路径。

基本配置结构说明

Nginx 主配置文件通常位于 /etc/nginx/nginx.conf,但推荐将各个站点的配置拆分为独立文件,存放在 /etc/nginx/sites-available/ 目录中,并通过符号链接激活至 /etc/nginx/sites-enabled/。

配置第一个域名(example.com)

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;
    # SSL 证书路径
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    # 推荐的安全协议与加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;
    # 站点根目录与默认页面
    root /var/www/example;
    index index.html;
    # 请求处理规则
    location / {
        try_files $uri $uri/ =404;
    }
    # 启用访问与错误日志(便于排查)
    access_log /var/log/nginx/example.access.log;
    error_log /var/log/nginx/example.error.log;
}

添加第二个域名(blog.anotherdomain.com)

server {
    listen 443 ssl http2;
    server_name blog.anotherdomain.com;
    ssl_certificate /etc/letsencrypt/live/blog.anotherdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.anotherdomain.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;
    root /var/www/blog;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    # PHP-FPM 动态解析
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    access_log /var/log/nginx/blog.access.log;
    error_log /var/log/nginx/blog.error.log;
}

💡 提示:两个 server 块共享同一个 IP 和端口(443),依靠 SNI 在握手阶段判断客户端请求的是哪个域名,从而返回正确的证书。


强制 HTTP 跳转 HTTPS(提升安全性)

为了强制所有流量走加密通道,建议为每个域名配置一个监听 80 端口的 server 块,执行 301 永久重定向:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}
server {
    listen 80;
    server_name blog.anotherdomain.com;
    return 301 https://$host$request_uri;
}

此设计不仅提升安全性,也有利于 SEO——搜索引擎更青睐始终使用 HTTPS 的网站。


验证与测试流程

完成配置后,务必进行以下验证步骤,确保服务正常运行且符合安全规范。

检查 Nginx 配置语法

sudo nginx -t

输出应显示 syntax is ok 和 test is successful,否则需检查配置中的拼写或路径错误。

重新加载 Nginx 服务

sudo systemctl reload nginx

避免使用 restart,以免造成短暂中断。

浏览器访问测试

分别打开:

  • https://example.com
  • https://blog.anotherdomain.com

确认页面正常加载,并观察浏览器地址栏是否显示锁形图标,点击可查看证书详情。

使用专业工具检测 SSL 安全等级

访问 [SSL Labs SSL Test](https://www.ssll

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/79662.html

分享给朋友:

“Nginx配置多个SSL证书实现多域名安全通信的完整指南” 的相关文章

租用云服务器合法吗?

租用云服务器通常合法,但具体取决于你使用的云服务提供商和使用方式。在某些情况下,租用云服务器可能涉及法律问题,例如网络连接、数据保护和隐私保护等问题。建议在使用云服务器之前,详细了解相关法律法规,并遵守相关的安全规范和规定。随着云计算的快速发展,越来越多的人开始尝试使用云服务器来存储和处理数据,许多...

国外服务器网站列表

1. [DigitalOcean](https://www.digitalocean.com/),2. [AWS](https://aws.amazon.com/ec2/),3. [Heroku](https://www.heroku.com/),4. [Google Cloud Platform]...

揭示Scum人渣服务器租用网站的真相与危害

揭秘Scum人渣服务器租用网站:这些网站以低廉的价格提供非法服务器资源,严重侵犯了用户的隐私和财产安全。在当今互联网时代,网络租赁服务已经成为一种便捷且经济的选择,随着人们对网络安全的关注日益增加,一些不法分子利用这一市场机会,通过租用服务器进行非法活动,如黑客攻击、网络诈骗等,给用户带来了严重的安...

全球用户最喜爱的海外服务器购买平台推荐

在全球用户中,AWS(Amazon Web Services)以其丰富的服务和灵活的价格策略成为了首选。它提供了各种类型的服务器,包括虚拟机、云存储、数据库服务等,能满足不同需求的用户。AWS还支持多种编程语言和开发框架,使得开发者可以快速构建应用程序。AWS是全球最受欢迎的海外服务器购买平台之一。...

无需正版

在过去的五年中,科技和人工智能领域取得了显著进展。自动驾驶技术的发展推动了汽车行业的变革,而量子计算的应用则为科学研究带来了革命性的突破。大数据分析和机器学习在金融、医疗健康等领域也展现出巨大的潜力。这些技术的进步不仅改变了我们的生活方式,还对社会产生了深远的影响。在当前的网络环境中,许多用户开始寻...

阿里云服务器租用价格表(详细版)

阿里云服务器租用价格表(详细版)包括了多种规格、操作系统、带宽等参数下的价格信息。表格提供了从基本到高级的各种配置选项,并且根据不同区域和网络带宽的不同,价格也会有所差异。对于企业用户来说,选择合适的云服务器可以降低运营成本,提高资源利用率。在互联网时代,云计算已成为企业不可或缺的基础设施之一,阿里...