在Nginx中,要为多个虚拟主机配置二级域名的SSL证书,您可以使用以下步骤:
1. 安装Certbot
首先,您需要安装Certbot工具。具体安装步骤取决于您所使用的Linux发行版,请根据相应的文档进行安装。对于TencentOS,您可以使用以下命令安装Certbot:
sudo yum install certbot
2. 获取SSL证书
使用以下命令获取SSL证书并配置域名:
sudo certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com -d sub.example.com -d www.sub.example.com
将/var/www/example.com替换为您实际的网站根目录。-d参数用于指定要为哪些域名获取证书。
3. 配置Nginx虚拟主机
打开您的Nginx虚拟主机配置文件,例如/etc/nginx/conf.d/example.com.conf,并添加以下内容以启用SSL:
server {
listen 80;
server_name example.com www.example.com sub.example.com www.sub.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/example.com;
}
}
server {
listen 443 ssl;
server_name example.com www.example.com sub.example.com www.sub.example.com;
root /var/www/example.com;
index index.html;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
try_files $uri $uri/ =404;
}
}
确保将example.com替换为您的实际域名,并将根目录路径和SSL证书路径设置为正确的路径。
4. 为其他虚拟主机重复步骤2和3
按照相同的方式为其他虚拟主机创建相应的配置文件,并使用相应的域名和SSL证书路径。