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