Page 1 of 2

Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Sat May 06, 2017 10:46 am
by RaRa
Здравствуйте!
Сегодня ночью должно было произойти обновление сертификата letsencrypt
Однако, сие чудо не случилось. Ошибки были таковы:
Error: nginx restart failed
sed: can't read /usr/local/vesta/data/queue/letsencrypt.pipe: No such file or directory
Вторую (надеюсь, т.к. сегодня ночью задание будет работать ещё раз) победил так:
sudo touch /usr/local/vesta/data/queue/letsencrypt.pipe
А вот по nginx пошёл смотреть, что да как и обнаружил, что при выполнении задания Веста с какого-то перепугу изменяет конфигурации nginx и apache, после чего перезапуск nginx и был невозможен, т.к. вместо нормального конфигурационного файла в snginx.conf были записаны какие-то обрывки кода, а старый код был похерен. Хорошо, что действующие конфиги сохраняю.
Вопрос: что это было и почему Веста пытается модифицировать конфигурации при обновлении сертификата? Как запретить ей это?
П.С.: В случае с apache модификация была незначительной, но существенной с точки зрения работоспособности.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Sun May 07, 2017 9:19 am
by yariksat
На это похоже - https://bugs.vestacp.com/issues/437 ?В смысле как код поломало?
У меня тоже было ломало,при различный действиях.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Sun May 07, 2017 4:41 pm
by RaRa
yariksat wrote:На это похоже - https://bugs.vestacp.com/issues/437 ?В смысле как код поломало?
У меня тоже было ломало,при различный действиях.
Нет.
У меня был добавлен в самое начало snginx.conf несколько раз (по количеству сайтов) такой код:

Code: Select all

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    include /home/user/conf/web/nginx.site1.ru.conf*;
}
А секции server {} для каждого сайта были заменены каким-то шаблонным кодом.

Причём судя по логам весты подобная ошибка (Error 20) была при первоначальной установке сертификата от letsencrypt (тогда тоже в snginx.conf наблюдалась такая же картина):
2017-03-07 00:41:54 v-restart-proxy [Error 20]
2017-03-07 00:43:29 v-delete-web-domain-ssl 'user' 'site1.ru' [Error 3]
2017-05-06 02:00:28 v-restart-proxy [Error 20]
2017-05-06 02:00:28 v-delete-web-domain-ssl 'user' 'site1.ru' [Error 20]
2017-05-06 02:00:28 v-restart-proxy [Error 20]
2017-05-06 02:00:28 v-add-web-domain-ssl 'user' 'site1.ru' '/tmp/tmp.lND4S7kZ2S' [Error 20]
Но тогда я не придал этому изменению конфигурации значения (не связал это с установкой сертификата), а просто заменил конфигурационные файлы и всё. А на днях стало понятно, что это Веста делает изменения, т.к. происходит это в момент смены сертификатов.

П.С.: кстати, несмотря на все описанные проблемы, сертификаты были таки обновлены в первую же ночь. Я позже это обнаружил. Правда, не знаю повлияла ли на это команда (sudo touch /usr/local/vesta/data/queue/letsencrypt.pipe) или какие-то иные действия (например, перезагрузка nginx), которые я осуществлял впоследствие утром, когда обнаружил проблему.
Теперь я с тревогой ожидаю, что выкинет Веста при следующем обновлении сертификатов в июле.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Mon May 08, 2017 8:20 am
by yariksat
Ну изменяются конфига произвольно,главное суть что они изменяются.Такое же и у меня было.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Mon May 08, 2017 9:10 am
by RaRa
yariksat wrote:Ну изменяются конфига произвольно,главное суть что они изменяются.Такое же и у меня было.
В принципе, да. Но зачем людям собственно такие проблемы?

Я так понимаю, что всё изменение происходит потому, что необходимо добавить одну строчку:

Code: Select all

include /home/user/conf/web/nginx.site1.ru.conf*;
чтобы подцепить конфу из файла: nginx.site1.ru.conf_letsencrypt

Но добавляют её так криво, что слетают предыдущие настройки конфигурации, чего естественно быть не должно.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Wed May 10, 2017 2:40 pm
by makas
У меня была аналогичная ситуация.
После автоматического продления сертификата был сломан конфиг sapache2.conf. В начало было вставлено несколько строк из конца файла и конфиг получился битым. В итоге сервер помер.
Но через несколько дней продлились сертификаты других доменов, прошло без сбоев.
На форуме эту тему обсуждали, но ничего не решили.
Самое главное, я так и не понял, зачем удалять, а потом создавать новый конфиг, в нем все то же самое остается, файл сертификата имеет то же имя, зачем трогать конфиг не понятно...

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Wed May 10, 2017 4:48 pm
by RaRa
makas wrote:Самое главное, я так и не понял, зачем удалять, а потом создавать новый конфиг, в нем все то же самое остается, файл сертификата имеет то же имя, зачем трогать конфиг не понятно...
Абсолютно с вами согласен. Какой вообще смысл трогать конфиги? Хотя бы разработчики Весты здесь не мудрили. Трогать конфиги надо аккуратно, а здесь просто как конь в посудной лавке. Ну нельзя же так, ей богу.

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Tue Jul 04, 2017 6:25 am
by RaRa
Добрый день всем!

Снова слетели конфиги snginx.conf и sapache2.conf после обновления LetsEncrypt!!!
sapache2.conf - похерен один параметр
snginx.conf - похерен весь конфиг, да в начало файла для каждого домена добавлены строки:

Code: Select all

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    include /home/admin/conf/web/nginx.site.ru.conf*;
}
    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    include /home/admin/conf/web/nginx.i.site.ru.conf*;
}
Т.е. просто куски кода.
Соответственно nginx не перезапустился, о чём мне на почту пришли сообщения об ошибке.

Code: Select all

 * Restarting nginx nginx
nginx: [emerg] "location" directive is not allowed here in /home/admin/conf/web/snginx.conf:2
nginx: configuration file /etc/nginx/nginx.conf test failed
apache2, по всей видимости, перезапустился, т.к. конфиг испорчен некритично.

Я почитал темы и так понял, что при обновлении LetsEncrypt зачем-то старые конфиги удаляются, а новые криво создаются из шаблонов.

АДМИНИСТРАЦИЯ!

Вопрос: ЗАЧЕМ ВЫ ТРОГАЕТЕ КОНФИГИ?!!! ОНИ РАНЕЕ БЫЛИ НАСТРОЕНЫ ПРАВИЛЬНО, ВСЕ ПУТИ НА СЕРТИФИКАТЫ ТАМ ЕСТЬ! ПОЧЕМУ БЫ ПРОСТО НЕ ОБНОВИТЬ СЕРТИФИКАТЫ И ПЕРЕЗАПУСТИТЬ nginx И apache2???

И с какого перепугу я должен, как вы советуете, изменять шаблоны и для чего? Вы их замените в следующий раз с каким-нибудь обновлением, и что я должен буду заново чего-то там писать? Это тупиковый путь. Тем более, что у меня в конфигах такие параметры добавлены, которых нет в ваших шаблонах.

А если мне понадобится добавить новый домен в конфиг, то я просто скопирую в созданные по шаблону настройки недостающие части.

Когда прекратится эта ВАКХАНАЛИЯ? НЕ ТРОГАЙТЕ РАБОЧИЕ КОНФИГИ!!!

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Tue Jul 04, 2017 7:02 am
by gecube_ru
Господа-коллеги!

Хочу высказаться по двум позициям

(1) у меня тоже была ситуация, что веста херила конфиги. Т.е. добавляем новый ВХост и вместо файла конфига nginx - мешанина. Такое ощущение, что вместо того, чтобы полностью сгенерировать файл с нуля веста в него дописывает изменившийся кусок. Проблема решалась ручной правкой конфиг файла (убрать лишние строчки и фигурные скобки)

(2) При этом обращу внимание, что я ССЗБ, т.к. конфиги в каталогах вхостов правил руками. Мне было лень использовать кастомный шаблон. Поэтому обращу внимание всех, что правильным методом является не ручное редактирование конфигов nginx и httpd в каталогах vhosts, а создание нового шаблона, который будет применяться на эти самый вирт.хосты.
Я почитал темы и так понял, что при обновлении LetsEncrypt зачем-то старые конфиги удаляются, а новые криво создаются из шаблонов.
Хотелось бы понять - это проблема именно кривой генерации конфигов из шаблонов или что-то еще!?

Re: Веста изменяет конфиги nginx и apache при обновлении letsencrypt

Posted: Tue Jul 04, 2017 7:45 am
by RaRa
gecube_ru wrote:Поэтому обращу внимание всех, что правильным методом является не ручное редактирование конфигов nginx и httpd в каталогах vhosts, а создание нового шаблона, который будет применяться на эти самый вирт.хосты.
Этот путь был бы правильным, если бы была уверенность, что при очередном обновлении ваши шаблоны не похерятся.

Мне удобнее править конфиги. Я их ежели чего и храню, на случай таких багов, как описан в этой теме, да и многих других, т.к. эта проблема при обновлении сертификата letsencrypt возникает очень часто, судя по постам.
gecube_ru wrote:Хотелось бы понять - это проблема именно кривой генерации конфигов из шаблонов или что-то еще!?
Это называется разработчики не оттестили обновление сертификата и этим дали пользователям по голове. Спасибо, родные вы наши.