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