Файл конфигурации сайта
запланированоЗапланировано в WardPane 2.1. Этой возможности нет в текущей версии; страница описывает, как она должна работать. Планы
Кроме форм, у каждого сайта в WardPane 2.1 будет собственный файл конфигурации с синтаксисом, близким к nginx. Файл и формы показывают одни и те же настройки. Поле, изменённое в форме, меняется и в файле, а правка файла сразу видна в формах.
Файл нужен тем, кому удобнее работать с текстом. Вся настройка сайта собрана в одном месте, блок можно скопировать на другой сайт, а правку просмотреть перед сохранением. Кому хватает форм, могут файл вообще не открывать.
Редактирование файла
Откройте сайт и переключитесь в панели на просмотр его файла конфигурации (в экспертном режиме). При сохранении редактор проверяет файл:
- о каждой ошибке сообщается с номером строки и короткой причиной, и ничего не применяется, пока весь файл не станет корректным;
- неизвестная директива или значение вне допустимого диапазона тоже считается ошибкой, и о ней сообщается;
- панель хранит историю версий, поэтому можно увидеть, что изменилось, и вернуться к более ранней версии.
Формы и файл правят один набор настроек, поэтому сохранённый в панели файл применяется так же, как форма. Работают те же проверки, а root-помощник ещё раз проверяет результат, прежде чем менять то, для чего нужен root.
Что описывает файл
| Область | Директивы (обзор) |
|---|---|
| Сайт | server_name (домен и псевдонимы), handler (статика, PHP или Node.js) |
| Запросы | max_body_size, тайм-ауты |
| Сжатие | gzip, brotli |
| Журналы | access_log с форматом и ротацией, error_log |
| Ответы | header, expires, CORS |
| Пути | блоки location с allow и deny, защита паролем, проксирование на локальный порт, тайм-ауты и запасной вариант |
| Адреса | redirect и rewrite |
| Защита | настройки защиты сайта (лимит запросов, Bot Fight, гео-правила, доступ только по ссылке и остальные) в виде директив |
Примеры
Примеры ниже только показывают, как выглядит файл. Имена директив и значения взяты из nginx там, где это уместно, а точные имена и аргументы появятся в справочнике директив.
Статический сайт со сжатием, кэшированием и заголовком безопасности:
server_name example.com www.example.com;
handler static;
gzip on;
brotli on;
expires /assets/ 30d;
header X-Frame-Options SAMEORIGIN;
Сайт на PHP с закрытой папкой администратора и увеличенным лимитом загрузки:
server_name shop.example.net www.shop.example.net;
handler php;
max_body_size 64m;
location /admin/ {
allow 203.0.113.0/24;
deny all;
}
redirect /old-catalog/ /catalog/ 301;
Приложение Node.js с API, к которому могут обращаться другие сайты, и отдельный сервис на локальном порту:
server_name booking.example.com;
handler node;
location /api/ {
cors https://www.example.com;
}
location /reports/ {
proxy 127.0.0.1:10050;
timeout 120s;
}
access_log combined rotate=daily keep=14;
Справочник директив
Полный список директив с аргументами, значениями по умолчанию и ограничениями генерируется из схемы самой панели и выйдет вместе с WardPane 2.1. А пока все настройки, которые может содержать файл, описаны в формах панели и на страницах о защите, PHP, Node.js и .htaccess.