在Debian上配置Nginx以支持多个SSL证书(即多域名SSL)涉及几个步骤。以下是一个详细的指南:
1. 安装Nginx
首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
2. 获取SSL证书
你可以从Let’s Encrypt或其他证书颁发机构获取SSL证书。这里以Let’s Encrypt为例:
sudo apt install certbot python3-certbot-nginx
3. 配置Nginx
你需要为每个域名创建一个单独的server块。以下是一个示例配置:
域名1:example1.com
server {
listen 443 ssl;
server_name example1.com www.example1.com;
ssl_certificate /etc/letsencrypt/live/example1.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example1.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/example1.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
域名2:example2.com
server {
listen 443 ssl;
server_name example2.com www.example2.com;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/example2.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
4. 测试配置
在重新加载Nginx之前,先测试配置文件是否有语法错误:
sudo nginx -t
5. 重新加载Nginx
如果配置文件没有问题,重新加载Nginx以应用更改:
sudo systemctl reload nginx
6. 自动续期证书
Let’s Encrypt证书通常有效期为90天。你可以设置一个cron作业来自动续期证书:
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"
这将在每天午夜和中午检查证书是否需要续期,并在续期后重新加载Nginx。
总结
通过以上步骤,你可以在Debian上配置Nginx以支持多个SSL证书。每个域名都需要一个单独的server块,并且需要正确配置SSL证书路径和其他相关设置。
以上就是关于“Nginx SSL在Debian上如何配置多域名”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm