Nginx 是一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密连接。绑定多域名 SSL 指的是在一个 Nginx 服务器上配置多个域名的 SSL 证书,使得每个域名都能通过 HTTPS 协议安全地访问。
适用于需要同时支持多个域名的网站,例如:
blog.example.com
, shop.example.com
)service1.example.com
, service2.example.com
)假设我们有两个域名 example1.com
和 example2.com
,并且我们使用 SAN 证书(包含这两个域名)。以下是 Nginx 配置示例:
server {
listen 80;
server_name example1.com example2.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example1.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
location / {
root /var/www/example1;
index index.html index.htm;
}
}
server {
listen 443 ssl;
server_name example2.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
location / {
root /var/www/example2;
index index.html index.htm;
}
}
ECDHE-ECDSA-AES256-GCM-SHA384
。通过以上配置和常见问题解决方法,你应该能够成功地在 Nginx 上绑定多个域名的 SSL。
领取专属 10元无门槛券
手把手带您无忧上云