Réponses:
Vous ne pouvez pas utiliser de variables dans chaque directive. ssl_certificate
est traité comme une chaîne littérale et est l'une des nombreuses directives dans lesquelles les variables ne sont pas prises en charge.
Pour spécifier différents certificats pour les hôtes, vous devez l'écrire explicitement dans un bloc de serveur:
server {
server_name example.com;
ssl_certificate /home/ec2-user/.certificados/example.com.crt;
ssl_certificate_key /home/ec2-user/.certificados/example.com.key;
# ...
}
server {
server_name example.net;
ssl_certificate /home/ec2-user/.certificados/example.net.crt;
ssl_certificate_key /home/ec2-user/.certificados/example.net.key;
# ...
}
# ...
Si vous ne souhaitez pas dupliquer la configuration, créez des modèles et générez la configuration nginx à l'aide de ces modèles. Voir aussi http://nginx.org/en/docs/faq/variables_in_config.html .
Vous pouvez utiliser des variables depuis nginx 1.15.9 (26 févr. 2019)
Notez que l'utilisation de variables implique qu'un certificat sera chargé pour chaque négociation SSL, ce qui peut avoir un impact négatif sur les performances.
Mais soyez conscient des changements avec nginx 1.15.12 (16 avril 2019):
Correction: une erreur de segmentation pouvait survenir dans un processus de travail si des variables étaient utilisées dans les directives "ssl_certificate" ou "ssl_certificate_key" et que l'agrafage OCSP était activé.
ssl_certificate
et assl_certificate_key
été ajouté aujourd'hui! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate