nginx 動的 ssl_certificate/_key

nginx 動的 ssl_certificate/_key

何が起こっているのか分かりませんが、これは動作します:

ssl_certificate /etc/ssl/tld/$ssl_server_name/ssl.crt;

そしてこれは失敗します:

set $cert $ssl_server_name;
ssl_certificate /etc/ssl/tld/$cert/ssl.crt;

実際のケースは次のとおりです: 私の証明書は TLD 別にフォルダーに配置されています (聞かないでください):

map $ssl_server_name $tld {
   ~^(.+\.)*(.+)$      $2;
   default $ssl_server_name;
}

しかし、 しか使えないようです$ssl_server_name。それ以外は失敗します。

*1 cannot load certificate "/etc/ssl/tld//ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/ssl/tld//ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file) while SSL handshaking, client: 192.168.136.xxx, server: 0.0.0.0:443
nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

答え1

誰かがこれを最初の検索結果として見つけた場合に備えて:実用的な解決策が見つかりますここ

関連情報