我正在尝试以下方法:
server_name ~^domain\.(?<tld>.*)$;
ssl_certificate /etc/ssl/private/ssl-chain-domain-$tld.pem;
我得到了:
[emerg] 22812#22812:BIO_new_file(“/ etc / ssl / private / ssl-chain-domain- $ tld.pem”)失败(SSL:错误:02001002:系统库:fopen:没有这样的文件或目录:fopen('/ etc / ssl / private / ssl-chain-domain- $ tld.pem','r')错误:2006D080:BIO例程:BIO_new_file:没有这样的文件
显然,不会发生var替换。 1美元也不起作用。
答案 0 :(得分:0)
请参阅Nginx docs:
不应将变量用作模板宏。在处理每个请求期间,在运行时评估变量
换句话说:Nginx不会为每个请求单独加载证书,因此不会使用变量。您需要明确地访问您的特定证书路径。
此外,这个问题可能属于Serverfault(但我不知道如何移动它)。