Найти в Дзене
Админ Чебурнета

HTTPS за 10 минут: Гайд для тех, кто терпеть не может слово «гуру»

HTTPS за 10 минут: Гайд для тех, кто терпеть не может слово «гуру» Привет, коллеги. В прошлый раз я рассказывал про Let's Encrypt - ребят, которые раздают SSL-сертификаты бесплатно. Сразу посыпался вопрос: «А как это воткнуть на свой сервер, если я не DevOps-волшебник?» Ладно. Сегодня - максимально короткий гайд без магии. Представим, что у вас есть VPS с Ubuntu и домен, который на него смотрит. Поехали. Шаг 0: Что должно быть в стартовом комплекте 1. Сервер. Самый простой VPS (от Selectel, Timeweb, Reg.ru - не реклама, просто факт). Хватит даже минимального тарифа за 100-200 руб/мес. 2. Домен. Купленный где угодно. У вас должна быть возможность прописать А-запись, чтобы домен указывал на IP вашего сервера. Это делается в панели у регистратора (пример: вашсайт.ru → 123.123.123.123). 3. Доступ по SSH. Как зайти на сервер через терминал. Если не знаете как - погуглите «как подключиться к VPS по ssh», это тема отдельной статьи. Шаг 1: Заходим и ставим софт Открываем терминал и подключаем

Привет, коллеги. В прошлый раз я рассказывал про Let's Encrypt - ребят, которые раздают SSL-сертификаты бесплатно. Сразу посыпался вопрос: «А как это воткнуть на свой сервер, если я не DevOps-волшебник?» Ладно. Сегодня - максимально короткий гайд без магии. Представим, что у вас есть VPS с Ubuntu и домен, который на него смотрит. Поехали.

Шаг 0: Что должно быть в стартовом комплекте

1. Сервер. Самый простой VPS (от Selectel, Timeweb, Reg.ru - не реклама, просто факт). Хватит даже минимального тарифа за 100-200 руб/мес.

2. Домен. Купленный где угодно. У вас должна быть возможность прописать А-запись, чтобы домен указывал на IP вашего сервера. Это делается в панели у регистратора (пример: вашсайт.ru → 123.123.123.123).

3. Доступ по SSH. Как зайти на сервер через терминал. Если не знаете как - погуглите «как подключиться к VPS по ssh», это тема отдельной статьи.

Шаг 1: Заходим и ставим софт

Открываем терминал и подключаемся.

ssh root@ваш_ip_сервера

Обновляем пакеты (хороший тон):

apt update && aptupgrade -y

Ставим Nginx (веб-сервер, который будет раздавать ваш сайт) и Certbot (тот самый клиент для автоматического получения сертификата):

apt install nginx certbot python3-certbot-nginx -y

Система спросит, хотите ли вы настроить Nginx сразу - жмем y (да).

Шаг 2: Быстро настраиваем Nginx

Нам нужно создать минимальный конфиг для вашего домена. Откроем файл конфигурации:

nano/etc/nginx/sites-available/вашсайт.ru

Вставляем туда базовый текст (замените вашсайт.ru на свой домен):

server {
listen 80;
server_name вашсайт.ru www.вашсайт.ru;
root /var/www/вашсайт.ru/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}

Сохраняем (Ctrl+O, потом Enter), выходим (Ctrl+X).

Теперь включаем этот конфиг и проверяем, нет ли ошибок:

ln -s /etc/nginx/sites-available/вашсайт.ru /etc/nginx/sites-enabled/
nginx -t

Если видите nginx: configuration file /etc/nginx/nginx.conf test is successful - всё ок. Перезагружаем Nginx:

systemctl reload nginx

Шаг 3: Получаем сертификат и включаем HTTPS

Вот и магия. Одна команда:

certbot --nginx -d вашсайт.ru -d www.вашсайт.ru

Certbot задаст пару вопросов:

· Email адрес - введите свой. Это для уведомлений о просрочке.

· Согласие с условиями - жмем Y.

· Хотите ли подписаться на рассылку - жмем N (если не хотите).

Волшебство происходит автоматически:

1. Certbot обновит конфиг Nginx, чтобы слушать порт 443 (HTTPS).

2. Добавит redirect с HTTP на HTTPS.

3. Установит сертификат.

4. Настроит автоматическое обновление.

Всё. Теперь ваш сайт доступен по https://вашсайт.ru. Зайдите и проверьте замочек в браузере.

Шаг 4: Что делать, если что-то пошло не так (FAQ на коленке)

· «Пишет ошибку о неудачной верификации домена» - скорее всего, DNS еще не обновился. Подождите пару часов или проверьте, правильно ли IP домена указывает на сервер: ping вашсайт.ru.

· «Хочу поставить на Apache, а не Nginx» - в команде установки замените python3-certbot-nginx на python3-certbot-apache, а в команде получения сертификата флаг --nginx на --apache.

· «Как это всё обновляется?» - Certbot сам создал задание в cron (планировщике). Проверить можно так: systemctl list-timers | grep certbot.

· «Железно хочу перейти» - дайте команду на принудительное обновление: certbot renew --dry-run. Если не сработает - ищите ошибки в логах (journalctl -u certbot).

-2

Итог

От установки системы до работающего HTTPS-сайта - 10-15 минут. Без оплаты, без сложных проверок. Let's Encrypt и правда сделали безопасность базовой гигиеной.

P.S. В следующий раз можем разобрать TLS 1.3 - что за шифры он использует, почему соединение устанавливается быстрее и как это всё проверить. Или гайд по настройке своего VPN. Лайк - решит.

А у вас есть свой сервер? Или может, остались вопросы по шагам? Пишите в комментах - поправим статью или сделаем отдельный разбор проблем.