@altai2013

Панель управления VestaCP + nginx — как сделать принудительный редирект http в https?

На Ubuntu 16.04 + nginx 1.13.7 установлена панель управления VestaCP и SSL-сертификат для домена. HTTPS работает нормально, HTTP тоже. Вопрос: как сделать принудительное перенаправление HTTP в HTTPS, чтобы правки не затирались при автоматическом обновлении самой панели управления VestaCP?
Справка самой VestaCP рекомендует скачать, установить и включить их штатный шаблон для nginx:
  1. Install custom nginx template:
  2. cd /usr/local/vesta/data/templates/web
  3. wget c.vestacp.com/0.9.8/rhel/force-https/nginx.tar.gz
  4. tar -xzvf nginx.tar.gz
  5. rm -f nginx.tar.gz
  6. Create new package or set force-https as nginx template in the existing package
  7. Add new user and assing him package with force-https template
  8. Add new domain with SSL certificate and check the result

Шаблон force-https я скачал и он лежит в папке шаблонов, но не могу найти, где он включается в настройках VestaCP.
Теоретически (если верить гуглу) в VestaCP должны быть доступны следующие шаблоны nginx:
default — служит для статического контента, хорошо работает для большинства сайтов
hosting — disable_symlinks директива для защиты от атак символических ссылок
сaching — динамические страницы кэшируются в течение 15 мин для обработки спонтанное движение
aka reddit-effect
force-https — принудительное использование HTTPS / SSL (можно установить вручную)
Однако на практике я захожу в настройки nginx для моего домена и вижу совершенно другой список шаблонов:
cms_made_simple, codeigniter2, codeigniter3, datalife_engine, default, dokuwiki, drupal6, drupal7, drupal8, joomla и т.д., но force-https среди них нет.
Подскажите, в каком месте настроек искать этот шаблон force-https или каким можно ещё способом перенаправить http в https?
  • Вопрос задан
  • 4036 просмотров
Решения вопроса 1
@muromdx
Шаблон просто так нигде не включается в настройках Весты. Делайте в точности как написано в инструкции.
После того как распаковали пакет, идете в раздел Пакеты и создаете новый с именем например "force-https". Все настройки можно выставить как у шаблона "default", только в "Шаблон Proxy nginx" выбираете пункт "force-https" (он должен у вас там появиться после распаковки пакета).
Только после этого заходите в настройки домена и там можете выбрать "force-https" для шаблона Proxy nginx.

P.S. Понимаю, что мой ответ возможно уже неактуален, но вдруг кому пригодится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
impyros
@impyros
шаблоны nginx не в web a в DNS
Ответ написан
Комментировать
@TLTHades
Инструкция предполагает, что шаблоны лежат в папке /usr/local/vesta/data/templates/web/nginx, но по факту все перечисленные шаблоны
cms_made_simple, codeigniter2, codeigniter3, datalife_engine, default, dokuwiki, drupal6, drupal7, drupal8, joomla и т.д.

лежат в папке /usr/local/vesta/data/templates/web/nginx/php-fpm. Достаточно скопировать force-https.tpl и force-https.stpl в /php-fpm и шаблон появятся в интерфейсе Vesta.

PS: Так же проверьте права и владельца файлов. В моем случае пришлось вручную выставлять владельца/группу root и права 0755 (rwxr-xr-x)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы