~/tools/nginx/ssl-config-generator

Nginx

Nginx SSL Config Generator

Сгенерировать базовый SSL/Let's Encrypt server-блок nginx.

Как это работает

Настройка HTTPS в nginx требует правильного редиректа с 80 порта на 443, указания путей к сертификату и приватному ключу, и разумного набора протоколов TLS, что легко напутать, если делаешь это раз в несколько месяцев на новом проекте. Nginx ssl config generator online собирает готовый конфиг под связку nginx плюс certbot от Let's Encrypt по двум простым полям.

Первый server блок слушает 80 порт и делает постоянный редирект 301 на https версию того же адреса, это стандартная практика, чтобы старые ссылки на http версию сайта не терялись, а автоматически подхватывались защищенным соединением.

Второй server блок слушает 443 порт с ssl и http2, указывает стандартные для certbot пути к сертификату и ключу в папке etc letsencrypt live, ограничивает протоколы актуальными версиями TLS 1.2 и 1.3, и проксирует запросы на локальный порт приложения с корректными заголовками.

Частые вопросы

Получает ли этот конфиг сертификат Let's Encrypt автоматически?

Нет, конфиг только описывает, где nginx должен искать уже полученный сертификат, сам сертификат нужно получить отдельно командой certbot, которая создаст нужные файлы по указанным в конфиге путям.

Нужно ли что то менять в путях к сертификату, если домен другой?

Пути автоматически подставляются исходя из введенного домена, потому что certbot по умолчанию создает папку с сертификатами именно по имени домена внутри etc letsencrypt live.

Почему в конфиге ограничены только TLS 1.2 и 1.3, а не более старые версии?

TLS 1.0 и 1.1 считаются устаревшими и небезопасными по современным стандартам, большинство браузеров и требований вроде PCI DSS уже не поддерживают или не рекомендуют более старые версии протокола.

Как перезапустить certbot для автоматического продления сертификата?

Обычно certbot сам настраивает systemd таймер или cron задачу при установке, которая продлевает сертификат заранее до истечения срока, проверить это можно командой certbot renew с флагом dry run.