в конфиге сайтов которого я проверяю переменную окружения, если production - нужно подключать одни ssl сертификаты, если local - другие. Кода делаю через if в конфиге nginx, то выдаëт, что listen directive is not allowed here.
Условно получается так:
server {
...
if (blahblahblah) {
listen [::]:443 ssl;
...
}
}
Как правильно реализовать, не подскажете?
не делай так
пропиши отдачу нужных имён сертификатов через переменную
Какие подводные, почему не надо так делать?
ну, у тебя же не работает 🙂
Как резонно заметили выше - так делать нельзя никогда. Как вариант - весь listen совать в include, и в зависимости от env подсовывать в докер-шмокер разные конфиги для инклюда. Шанс выстрелить в ногу все равно есть, но меньше.
Понял. Уже так и пилю. Спасибо.
Обсуждают сегодня