Comment puis-je utiliser un nom de variable dans le chemin du fichier?
ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;
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 .
ssl_certificate
et assl_certificate_key
été ajouté aujourd'hui! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificateVous pouvez utiliser des variables depuis nginx 1.15.9 (26 févr. 2019)
Mais soyez conscient des changements avec nginx 1.15.12 (16 avril 2019):
la source