Jak mogę użyć nazwy zmiennej w ścieżce pliku?
ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;
Nie można używać zmiennych w każdej dyrektywie. ssl_certificate
jest traktowany jak ciąg literalny i jest jedną z wielu dyrektyw, w których zmienne nie są obsługiwane.
Aby określić różne certyfikaty dla hostów, musisz jawnie zapisać je w bloku serwera:
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;
# ...
}
# ...
Jeśli czujesz się niekomfortowo powielając konfigurację, utwórz szablony i wygeneruj konfigurację nginx przy użyciu tych szablonów. Zobacz także http://nginx.org/en/docs/faq/variables_in_config.html .
ssl_certificate
issl_certificate_key
została dodana już dziś! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificateMożesz używać zmiennych od wersji nginx 1.15.9 (26 lutego 2019)
Pamiętaj jednak o zmianach w wersji nginx 1.15.12 (16 kwietnia 2019 r.):
źródło