我正在编写一个将服务于数百个域的 nginx 配置。为了启用 SSL,我为所有这些都颁发了 letsinctrypt 证书,并使用了这个配置:
http {
map $ssl_server_name $cert_folder {
default $ssl_server_name;
}
server {
listen <ip>:443 ssl http2 default_server;
server_name _;
ssl_certificate /etc/letsencrypt/live/$cert_folder/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/$cert_folder/privkey.pem;
[...]
}
}
但是当有人使用“www.example.com”之类的地址时,它不会找到证书文件,因为没有这样的文件夹。
两个版本都颁发了证书,所以我只想删除“www”。来自 $cert_folder 变量(如果存在)。
有什么办法可以做到这一点?