Как настроить HTTPS на сервере?
Наталья, Ярославль 0
Купил VPS и поднял сайт вручную через Nginx, без панели хостинга. С доменом и сайтом всё работает, но открывается только по http, браузер пишет "Не защищено". Что нужно сделать на сервере, чтобы заработал https?
Дмитрий Акиндинов технический администратор сайтов
ответил
На сервере с Nginx или Apache нужно получить SSL-сертификат (бесплатный вариант — Let’s Encrypt через утилиту Certbot), прописать его пути в конфигурации сервера для порта 443 и настроить постоянный редирект с http на https. Сама установка через Certbot с автоматической настройкой Nginx занимает 5-10 минут, если домен уже указывает на нужный IP-адрес.
Certbot ставится из репозитория дистрибутива (для Ubuntu: apt install certbot python3-certbot-nginx), затем командой certbot —nginx он сам находит нужный домен в конфигурации, получает сертификат у Let’s Encrypt и правит конфиг Nginx под https. Сертификат Let’s Encrypt действует 90 дней, но Certbot ставит задачу автопродления в cron или systemd timer, и вручную обновлять его не приходится.
После получения сертификата важно принудительно редиректить весь трафик с http на https, обычно правилом return 301 https://$host$request_uri; в блоке для порта 80, иначе часть посетителей и поисковых роботов продолжит заходить по незащищённому адресу. Отдельно стоит проверить сайт на смешанный контент — картинки или скрипты, которые подгружаются по http даже на https-странице: браузер тогда всё равно показывает предупреждение.
На хостинге с панелью управления (ISPmanager, cPanel, панели Timeweb и подобных) весь этот процесс обычно сводится к одной кнопке «Подключить SSL» — панель сама ставит сертификат и правит конфигурацию веб-сервера. Ручная настройка через Certbot нужна в основном на голом VPS без панели.
Задать свой вопрос
Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.
Вопрос отправлен. После проверки он появится на сайте вместе с ответом.
Вопрос не отправлен: нужно подтвердить согласие на обработку персональных данных.