Не делает бекапы из-за ошибки при парсинге шаблонов
Не делает бекапы из-за ошибки при парсинге шаблонов
Доброе время суток, в /usr/local/vesta/data/templates/web/nginx/php-fpm добавил свой шаблон, 2 файла обычный tpl и stpl. Домены в панельку добавляются но с ошибкой, но шаблон все равно применяется. Аналогично с ошибкой и удаляются, но из nginx конфига сайт уже не пропадает. Также не делаются бекапы, останавливается все на ошибке:
Error: can't parse template /usr/local/vesta/data/templates/web/nginx/php-fpm/*.tpl
Проблема думаю в том, что я в шаблон прописал регулярное выражение для поддоменов и парсеру это не нравится, подскажите как такое можно скормить панельке, чтобы она не ругалась, может где то подправить что-то можно:
UP.
Проблема решилась, парсер ищет в конфиге домен по прямому вхождению (site.com) без лишних добавлений, чтобы решить проблему в первую секцию server для server_name достаточно добавить: %domain_idn%, после этой процедуры, парсер работает без ошибок.
Error: can't parse template /usr/local/vesta/data/templates/web/nginx/php-fpm/*.tpl
Проблема думаю в том, что я в шаблон прописал регулярное выражение для поддоменов и парсеру это не нравится, подскажите как такое можно скормить панельке, чтобы она не ругалась, может где то подправить что-то можно:
Code: Select all
server {
listen %ip%:%web_port%;
server_name ~^([a-z-]+\.|)%domain_idn%;
set $subdomain "%domain_idn%";
if ($host ~* ^([a-z-]+)\.%domain_idn%) {
set $subdomain $1.%domain_idn%;
}
if ($host ~* ^www.%domain_idn%$) {
set $subdomain "%domain_idn%";
}
rewrite ^(.*) http://www.$subdomain$1 permanent;
}
server {
listen %ip%:%web_port%;
server_name www.%domain_idn% ~^www.([a-z-]+\.)%domain_idn%;
root %docroot%;
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;
...
}
Проблема решилась, парсер ищет в конфиге домен по прямому вхождению (site.com) без лишних добавлений, чтобы решить проблему в первую секцию server для server_name достаточно добавить: %domain_idn%, после этой процедуры, парсер работает без ошибок.
Last edited by Twistnv on Fri Oct 06, 2017 1:12 pm, edited 1 time in total.
Re: Не делает бекапы из-за ошибки при парсинге шаблонов
Согласен, скорее всего проблема в регулярке в Service Name.
Предлагаю рассмотреть альтернативную схему:
Для https:
Предлагаю рассмотреть альтернативную схему:
Code: Select all
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
...
}
Code: Select all
server {
listen 80;
server_name www.domain.com;
# $scheme will get the http protocol
# and 301 is best practice for tablet, phone, desktop and seo
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80;
server_name domain.com;
# here goes the rest of your config file
# example
location / {
rewrite ^/cp/login?$ /cp/login.php last;
# etc etc...
}
}
Re: Не делает бекапы из-за ошибки при парсинге шаблонов
Вы предложили альтернативу для просто домена site.com, а у меня много поддоменов (site.com, test.site.com, blabla.site.com, vesta.site.com), и их нужно отловить, то что у меня делается регуляркой и передать во второй блок server чтобы вставить после www.
Up.
Во втором блоке server, допустим я могу отказаться от регулярки, вывести все поддомены с www через заполнение формы алиас в панельке. Но как вывести все поддомены без www для первого блока сервер, чтобы редеректить их на www?
Up.
Во втором блоке server, допустим я могу отказаться от регулярки, вывести все поддомены с www через заполнение формы алиас в панельке. Но как вывести все поддомены без www для первого блока сервер, чтобы редеректить их на www?