Re: Отключение SSL, если нет сертификатов

Maxim Dounin mdounin на mdounin.ru
Чт Ноя 8 12:57:23 UTC 2018


Hello!

On Thu, Nov 08, 2018 at 12:10:57PM +0300, Sergey Bondarev wrote:

> Здравствуйте, Nginx-ru.
> 
> При  использовании сертификатов от letsencrypt, возникает проблема при
> первоначальном запуске.
> 
> Как  правило  новые  вирт.  хосты  с новыми доменами добавляются в уже
> существующий nginx, и на момент добавления у нас еще нет сертификатов.
> 
> соответсвенно  приходится  сначала  руками  добавлять конфиг nginx без
> SSL,  запускать  cert-bot,  для  получения  сертификата, менять конфиг
> nginx, добавляя туда listen ssl и сертификаты.
> 
> Жизнеспособна  ли  такая  идея  ?  Если  при  запуске nginx не находит
> сертификатов  по  тем  путям,  что  есть в конфиге он пишет ворнинг, и
> генерирует самоподписанный сертификат, который и начинает использовать
> для обслуживания хоста.

Мой (и не только мой) опыт говорит, что в большинстве случаев 
"сгенерировать, если не нашлось то, что указано в конфиге" - это 
стратегия, которая приводит к тому, что при каких-нибудь
опечатках - оно таки сгенерируется и будет работать, а в том, 
почему оно работает неправильно - придётся отдельно и долго 
разбираться.

Поэтому nginx требует, чтобы указанное в конфиге - существовало, а 
если оно не существует и/или некорректно - то отказывается 
применять такую конфигурацию.  Это, в частности, отлично спасает 
от замены работающей конфигурации на неработающую при перезагрузке 
конфигурации.

Если хочется не менять конфигурацию после исходного запуска 
certbot'а - то очевидным решением видится сгенерировать 
самоподписанный сертификат перед исходным запуском и положить его 
по указанному в конфиге пути.  Когда certbot получит настоящий 
сертификат - он его обновит, и будет достаточно перезагрузить 
конфигурацию nginx'а для начала работы с новым сертификатом.  
Впрочем, лично я - предпочитаю явно менять конфигурацию.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru