我正在尝试在 nginx 中使用 SSL 设置默认服务器,SSL 证书的路径应该包含站点名称,类似这样的内容
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_certificate ssl/$http_host/fullchain.pem;
ssl_certificate_key ssl/$http_host/privkey.pem;
但它不起作用 - 在错误日志中
cannot load certificate "/etc/nginx/ssl//fullchain.pem"
如果我使用 add_header XX "$http_host"; 在标题中打印此变量,它会显示正确的站点名称。有没有办法在证书路径中使用站点名称?我的服务器上有很多具有典型配置的站点,所以对我来说最好只有一个配置。Nginx 版本 1.18,如果我手动定义一些变量并将其放入ssl_certificate
参数中,一切都会正常工作
答案1
nginx 中没有变量$host_name
。您很可能想要使用$host
。