Nginx 使用多个.conf文件配置多个虚拟主机server的方法并且带二级域名的ssl证书配置

446 阅读1分钟

在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证书路径。