Відповіді:
Ви не можете використовувати змінні у кожній директиві. ssl_certificate
трактується як буквальний рядок і є однією з багатьох директив, де змінні не підтримуються.
Щоб вказати різні сертифікати для хостів, потрібно явно записати їх у серверний блок:
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;
# ...
}
# ...
Якщо вам неприємно дублювати конфігурацію, створіть шаблони та згенеруйте конфігурацію nginx за допомогою цих шаблонів. Дивіться також http://nginx.org/en/docs/faq/variables_in_config.html .
Ви можете використовувати змінні з nginx 1.15.9 (26 лютого 2019)
Зауважте, що використання змінних означає, що сертифікат буде завантажений для кожного рукостискання SSL, і це може негативно вплинути на продуктивність
Але будьте в курсі змін із nginx 1.15.12 (16 квітня 2019):
Виправлення: в робочому процесі може виникнути помилка сегментації, якщо змінні були використані в директивах "ssl_certificate" або "ssl_certificate_key" та включення зшивання OCSP.
ssl_certificate
іssl_certificate_key
була додана сьогодні! nginx.org/uk/docs/http/ngx_http_ssl_module.html#ssl_certificate