nginx usa $ nome_server sul percorso ssl_certificate


33

Come posso usare un nome variabile nel percorso del file?

ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;

Risposte:


37

Non è possibile utilizzare le variabili in ogni direttiva. ssl_certificateviene trattato come una stringa letterale ed è una delle molte direttive in cui le variabili non sono supportate.

Per specificare certificati diversi per gli host, è necessario scriverlo esplicitamente in un blocco server:

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;
    # ...
}
# ...

Se ti senti a disagio nel duplicare la configurazione, crea modelli e genera la configurazione nginx usando quei modelli. Vedi anche http://nginx.org/en/docs/faq/variables_in_config.html .


6
supporto per le variabili in ssl_certificatee è ssl_certificate_keystato aggiunto oggi! nginx.org/it/docs/http/ngx_http_ssl_module.html#ssl_certificate
Andrew Brown,

6

È possibile utilizzare le variabili da nginx 1.15.9 (26 febbraio 2019)

L'uso delle variabili implica che verrà caricato un certificato per ogni handshake SSL e ciò potrebbe avere un impatto negativo sulle prestazioni

Ma fai attenzione alle modifiche con nginx 1.15.12 (16 aprile 2019):

Bugfix: un errore di segmentazione potrebbe verificarsi in un processo di lavoro se le variabili fossero utilizzate nelle direttive "ssl_certificate" o "ssl_certificate_key" e la pinzatura OCSP fosse abilitata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.