Поддержка и абонентское обслуживание

Как настроить 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 без панели.

Задать свой вопрос

Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.

Похожие вопросы

Все вопросы по теме "Поддержка и абонентское обслуживание"

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?