Nginx 中 SSL 证书路径中的 $host_name 变量

Nginx 中 SSL 证书路径中的 $host_name 变量

我正在尝试在 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

相关内容