Page 1 of 1
При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Wed Apr 04, 2018 1:41 pm
by karpo518
Добрый день. На моем сервере произошёл автоматический перевыпуск ssl-сертификата. При этом локальный конфиг nginx был перезаписан вестой. В результате сайт стал недоступен. Что нужно сделать, чтобы предотвратить повторение проблемы?
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Wed Apr 04, 2018 2:46 pm
by yariksat
karpo518 wrote: Wed Apr 04, 2018 1:41 pm
Добрый день. На моем сервере произошёл автоматический перевыпуск ssl-сертификата. При этом локальный конфиг nginx был перезаписан вестой. В результате сайт стал недоступен. Что нужно сделать, чтобы предотвратить повторение проблемы?
Строки свои в конфиг добавляли?
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Tue Jun 05, 2018 1:08 pm
by karpo518
Спасибо за ответ. Да, добавлял. Редактировал конфиг домена вручную. Как правильно вносить такие правки, чтобы конфиг не перезаписывался? Теоретически при перевыпуске сертификата нужно просто заменить сам сертификат и ключ. Неясно, зачем конфиг переписывать.
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Tue Jun 05, 2018 4:55 pm
by yariksat
karpo518 wrote: Tue Jun 05, 2018 1:08 pm
Спасибо за ответ. Да, добавлял. Редактировал конфиг домена вручную. Как правильно вносить такие правки, чтобы конфиг не перезаписывался? Теоретически при перевыпуске сертификата нужно просто заменить сам сертификат и ключ. Неясно, зачем конфиг переписывать.
Никак,конфиг перезапишется все равно.
Правильней создавать свои шаблоны конфигов в папке с шаблонами.
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Thu Jun 21, 2018 1:12 pm
by karpo518
Удивительные вещи вы пишите. Разве это нормально? Какие-то работы ведутся в этом направлении? В чём необходимость переписывать конфиг по шаблону? Почему нельзя просто заменить строки подключения сертификата по маске?
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Thu Jun 21, 2018 1:56 pm
by grayfolk
karpo518 wrote: Thu Jun 21, 2018 1:12 pm
Удивительные вещи вы пишите. Разве это нормально? Какие-то работы ведутся в этом направлении? В чём необходимость переписывать конфиг по шаблону? Почему нельзя просто заменить строки подключения сертификата по маске?
А почему просто нельзя создать свой шаблон, если дефолтные вас не устраивают? Что в этом ненормального?
В любом случае, панель работает именно так, и с этим придется смириться.
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Thu Jun 21, 2018 6:02 pm
by yariksat
karpo518 wrote: Thu Jun 21, 2018 1:12 pm
Удивительные вещи вы пишите. Разве это нормально? Какие-то работы ведутся в этом направлении? В чём необходимость переписывать конфиг по шаблону? Почему нельзя просто заменить строки подключения сертификата по маске?
Кто захотел - тот уже давным давно создал себе отдельный шаблон.
Как не крути шаблон лучше всего создать именно отдельный свой.Видели бы Вы мой шаблон,там простыня на 15 килобайт. :) Я давно себе так сделал.Меня наоборот эта панель поразила тем что тут можно свои собственные шаблоны делать...
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Wed Jul 11, 2018 10:57 am
by ahouse
yariksat wrote: Thu Jun 21, 2018 6:02 pm
karpo518 wrote: Thu Jun 21, 2018 1:12 pm
Удивительные вещи вы пишите. Разве это нормально? Какие-то работы ведутся в этом направлении? В чём необходимость переписывать конфиг по шаблону? Почему нельзя просто заменить строки подключения сертификата по маске?
Кто захотел - тот уже давным давно создал себе отдельный шаблон.
Как не крути шаблон лучше всего создать именно отдельный свой.Видели бы Вы мой шаблон,там простыня на 15 килобайт. :) Я давно себе так сделал.Меня наоборот эта панель поразила тем что тут можно свои собственные шаблоны делать...
похвастайте шаблоном, Коллега!
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Thu Jul 12, 2018 6:03 pm
by yariksat
ahouse wrote: Wed Jul 11, 2018 10:57 am
yariksat wrote: Thu Jun 21, 2018 6:02 pm
karpo518 wrote: Thu Jun 21, 2018 1:12 pm
Удивительные вещи вы пишите. Разве это нормально? Какие-то работы ведутся в этом направлении? В чём необходимость переписывать конфиг по шаблону? Почему нельзя просто заменить строки подключения сертификата по маске?
Кто захотел - тот уже давным давно создал себе отдельный шаблон.
Как не крути шаблон лучше всего создать именно отдельный свой.Видели бы Вы мой шаблон,там простыня на 15 килобайт. :) Я давно себе так сделал.Меня наоборот эта панель поразила тем что тут можно свои собственные шаблоны делать...
похвастайте шаблоном, Коллега!
Да выложил бы...
Но там куча редиректов ЧПУ,локейшенов и хот-линкинга заточенных под один специфический сайт.То есть все это написано специально под нужды этого сайта.Не думаю что это будет полезно остальным.
Re: При перевыпуске Lets Encrypt затирается конфиг nginx
Posted: Fri Aug 03, 2018 8:36 am
by karpo518
Прошу подсказать. Если я, к примеру, хочу, чтобы кастомные строки в конфиге не затирались, но по дефолту тоже всё работало, то мне нужно после строк подключения ssl-сертификата подключать свой конфиг и останавливать обработку текущего, верно? Вот так я себе это представляю:
Code: Select all
server {
listen %ip%:%web_ssl_port%;
server_name %domain_idn% %alias_idn%;
root %sdocroot%;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
// Начало моей вставки
if (-f %home%/%user%/conf/web/snginx.%domain%.conf.custom) {
include %home%/%user%/conf/web/snginx.%domain%.conf.custom;
break;
}
// Конец моей вставки
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass %backend_lsnr%;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias %home%/%user%/web/%domain%/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /vstats/ {
alias %home%/%user%/web/%domain%/stats/;
include %home%/%user%/conf/web/%domain%.auth*;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include %home%/%user%/conf/web/snginx.%domain%.conf*;
}
Это правильный путь?
P.S. Похоже универсальный вариант сделать не получится. Nginx не позволяет сделать include по условию if и 2 раза определять один location тоже не позволяет, значит кастомный вариант будет иметь следующий вид:
Code: Select all
server {
listen %ip%:%web_ssl_port%;
server_name %domain_idn% %alias_idn%;
root %sdocroot%;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/%domain%.log combined;
access_log /var/log/nginx/domains/%domain%.bytes bytes;
error_log /var/log/nginx/domains/%domain%.error.log error;
ssl on;
ssl_certificate %ssl_pem%;
ssl_certificate_key %ssl_key%;
include %home%/%user%/conf/web/snginx.%domain%.conf.custom;
}