Wie kann ich einen Variablennamen im Dateipfad verwenden?
ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;
Sie können nicht in jeder Direktive Variablen verwenden. ssl_certificate
wird als wörtliche Zeichenfolge behandelt und ist eine der vielen Anweisungen, bei denen Variablen nicht unterstützt werden.
Um unterschiedliche Zertifikate für Hosts anzugeben, müssen Sie diese explizit in einen Serverblock schreiben:
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;
# ...
}
# ...
Wenn Sie Probleme beim Duplizieren der Konfiguration haben, erstellen Sie Vorlagen und generieren Sie die Nginx-Konfiguration mit diesen Vorlagen. Siehe auch http://nginx.org/en/docs/faq/variables_in_config.html .
ssl_certificate
undssl_certificate_key
wurde heute hinzugefügt! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificateSie können Variablen seit nginx 1.15.9 (26. Februar 2019) verwenden.
Aber sich bewusst sein Änderungen mit nginx 1.15.12 (16. April 2019):
quelle