Установка SSL на nginx за 15 мин с Let's Encrypt: certbot автоматически модифицирует config + включает HTTPS + HTTP→HTTPS redirect. Для manual control — копируем fullchain.pem + privkey.pem в /etc/ssl/, добавляем ssl-блок в server config, включаем HSTS + modern ciphers.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
Бесплатный онлайн-инструмент — SSL-чекер: результат мгновенно, без регистрации.
apt install certbot python3-certbot-nginxcertbot --nginx -d example.com -d www.example.comcurl -I https://example.com → HTTP/1.1 200 OKsystemctl enable --now certbot.timer| Сценарий | Конфиг |
|---|---|
| nginx ssl block (manual) | server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
} |
| HTTP→HTTPS redirect | server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
} |
| HSTS header (preload-ready) | add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; |
| OCSP Stapling | ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 1.1.1.1 valid=60s; |
| Pre-installed cert (не Let's Encrypt) | # cat cert.pem intermediate.pem > fullchain.pem
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/private.key; |
Для установки SSL-сертификата на nginx, необходимо выполнить несколько шагов: получить сертификат от удостоверяющего центра, установить его на сервер, а затем настроить конфигурацию nginx. В первую очередь, разместите файлы сертификата и ключа в безопасной директории, например, /etc/ssl/certs и /etc/ssl/private. Затем измените конфигурационный файл nginx, добавив секцию для HTTPS, и перезапустите сервис командой sudo systemctl restart nginx.
Перед тем как установить SSL-сертификат на сервер с nginx, необходимо выполнить несколько подготовительных шагов:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr. Ответьте на вопросы, чтобы создать CSR./etc/ssl/certs и /etc/ssl/private.После получения SSL-сертификата и его установки на сервер, необходимо настроить nginx для использования HTTPS. Откройте конфигурационный файл вашего сайта, который обычно находится в /etc/nginx/sites-available/. Добавьте следующие строки:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/certs/yourdomain.crt;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
location / {
try_files $uri $uri/ =404;
}
}Не забудьте изменить yourdomain.com, yourdomain.crt и yourdomain.key на ваши реальные значения. Также рекомендуется настроить редирект с HTTP на HTTPS. Для этого добавьте еще один блок server:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}После внесения изменений проверьте конфигурацию на ошибки с помощью команды sudo nginx -t. Если ошибок нет, перезапустите nginx с помощью sudo systemctl restart nginx.
Чтобы установить SSL-сертификат на nginx, необходимо выполнить несколько шагов: сначала получите SSL-сертификат от авторитетного центра сертификации (CA), затем скопируйте файлы сертификата и ключа на сервер. После этого настройте конфигурацию nginx, добавив соответствующие директивы для указания путей к сертификату и ключу, и перезапустите nginx для применения изменений.
Установка SSL-сертификата на сервере nginx включает в себя несколько ключевых этапов. Рассмотрим их подробнее.
Первым шагом является приобретение SSL-сертификата у аккредитованного центра сертификации (CA), такого как Let's Encrypt, Comodo или DigiCert. Если вы используете Let's Encrypt, вы можете получить бесплатный сертификат с помощью утилиты Certbot. Например:
sudo apt-get install certbot python3-certbot-nginxПосле установки Certbot выполните команду для получения сертификата:
sudo certbot --nginxСледуйте инструкциям на экране, чтобы завершить процесс.
Если вы получили сертификат в виде файлов, скопируйте их на сервер. Обычно это делается в директорию, такую как /etc/ssl/certs и /etc/ssl/private. Например:
sudo cp your_domain.crt /etc/ssl/certs/sudo cp your_domain.key /etc/ssl/private/Теперь необходимо настроить nginx для работы с SSL-сертификатом. Откройте файл конфигурации вашего сайта, который обычно находится в /etc/nginx/sites-available/your_domain и добавьте следующие строки:
server {
listen 443 ssl;
server_name your_domain;
ssl_certificate /etc/ssl/certs/your_domain.crt;
ssl_certificate_key /etc/ssl/private/your_domain.key;
location / {
root /var/www/your_domain;
index index.html index.htm;
}
}Также рекомендуется добавить настройки безопасности, такие как:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;После внесения изменений в конфигурацию необходимо перезапустить nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginxТеперь ваш сайт должен успешно работать с SSL-сертификатом. Вы можете проверить это, перейдя по адресу вашего сайта с префиксом https://.
Если вы используете Let's Encrypt, сертификаты действительны 90 дней. Вы можете настроить автоматическое обновление, добавив cron-задачу:
sudo crontab -eДобавьте следующую строку для автоматического обновления сертификата каждый день:
0 0 * * * /usr/bin/certbot renew --quietЭто обеспечит автоматическое обновление сертификата без вашего вмешательства.
Соблюдая эти шаги, вы сможете установить SSL-сертификат на ваш сервер nginx, обеспечив безопасность данных пользователей и улучшив SEO-позиции вашего сайта.
SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.
Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).
Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.
Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).
Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.
мониторинг SSL-сертификатов
аудит TLS-конфигурации
HTTPS как фактор ранжирования
доверие покупателей
www и поддомены.Strict-Transport-Security заставляет браузер всегда использовать HTTPS.Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.
Зарегистрироваться (FREE)Да, 100%. Google, Facebook, Cloudflare используют. Единственное ограничение: 90 дней validity (auto-renew решает).
Тот же процесс как manual: fullchain.pem = cert + intermediate, отдельно privkey.pem. В nginx — ssl_certificate + ssl_certificate_key.
Да. Certbot оставляет backup оригинала. Можно откатить: <code>cp nginx.conf.backup nginx.conf</code>.
systemctl enable --now certbot.timer. Работает 2x в день. На renew hook: <code>--deploy-hook "systemctl reload nginx"</code>.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.