¿Cómo puedo usar un nombre de variable en la ruta del archivo?
ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;
No puede usar variables en todas las directivas. ssl_certificate
se trata como una cadena literal y es una de las muchas directivas donde las variables no son compatibles.
Para especificar diferentes certificados para hosts, debe escribirlo explícitamente en un bloque de servidor:
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 se siente incómodo duplicando la configuración, cree plantillas y genere la configuración nginx usando esas plantillas. Ver también http://nginx.org/en/docs/faq/variables_in_config.html .
ssl_certificate
yssl_certificate_key
fue agregado hoy! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificatePuede usar variables desde nginx 1.15.9 (26 de febrero de 2019)
Pero tenga en cuenta los cambios con nginx 1.15.12 (16 de abril de 2019):
fuente