Редирект с HTTP на HTTPS в Vesta Panel (NGINX + PHP_FPM)

На сервере который арендую у Digital Ocean, в качестве панели управления использую Vesta Panel (связка NGINX + PHP_FPM, это важно!).

В отличие от других систем, в этой панели управления нет возможности сделать такие редиректы как «с www на без www», или «с http на https».

Для того, чтобы решить эту задачу

1) По ssh логинитесь на сервер

2) Делаете правку в nginx конфиге вашего сайта (благо разработчики Vesta Panel позаботились чтобы конфиги были раздельными и лежали в удобном месте). Вам понадобиться пользователь с SUDO правами, так как нужно будет перезапустить nginx. Команда для открытия конфига:

sudo nano /home/USER/conf/web/SITE_NAME.nginx.conf

где

  • USER — это учетная запись созданная через Vesta, может быть кто угодно
  • SITE_NAME — это домен вашего сайта.

После того, как вы открыли файл нужно внести одну строку в директиву server:

rewrite ^(.*)$ https://SIME_NAME$1 permanent;

где SIME_NAME — это домен вашего сайта. В моем конфиг выглядит вот так:

После сохранения файла нужно перезапустить nginx

sudo service nginx restart

Готово — редирект с http на https в Vesta Panel настроен. К слову, если вы в используете php7.2 в Vesta, то я написал статью о том, как обновиться до php7.4.

Все что вы делаете — делайте на свой страх и риск! И не забывайте про резервные копии!