09.07.2026
nginx proxy https
Настройка nginx proxy для HTTPS: пошаговая инструкция для российских пользователей
Если вы занимаетесь веб-разработкой или администрированием серверов, то наверняка сталкивались с необходимостью обеспечить безопасное соединение для своих сайтов. Использование HTTPS — это не только залог защиты данных ваших посетителей, но и фактор, влияющий на рейтинг в поисковых системах. В этом материале я расскажу, как настроить nginx в качестве обратного прокси с поддержкой HTTPS — подробно и понятно, чтобы даже новичок смог справиться.
Почему именно nginx proxy HTTPS?
Nginx — один из самых популярных и мощных веб-серверов и обратных прокси. Благодаря своей высокой производительности и гибкости, он отлично подходит для балансировки нагрузки, кэширования и, конечно, для работы с SSL/TLS.
Настройка nginx в режиме proxy с HTTPS позволяет вам:
- Защитить передаваемые данные
- Обеспечить работу сайта через защищённое соединение
- Улучшить SEO и доверие пользователей
- Легко интегрировать с различными бэкенд-серверами
Что понадобится для настройки nginx proxy HTTPS?
Перед началом убедитесь, что у вас есть:
- Сертификат SSL (может быть бесплатным — например, от Let’s Encrypt)
- Доступ к серверу с nginx
- Основные знания о работе с конфигурационными файлами nginx
Пошаговая инструкция
- Установка nginx
На большинстве Linux-систем nginx устанавливается командой:
sudo apt update
sudo apt install nginx
или, для CentOS/RHEL:
sudo yum install nginx
- Получение SSL-сертификата
Самый простой способ — использовать Let's Encrypt:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.ru -d www.yourdomain.ru
Следуйте инструкциям, и сертификат будет автоматически настроен.
- Настройка nginx как обратного прокси с HTTPS
Откройте конфигурационный файл nginx:
sudo nano /etc/nginx/sites-available/yourdomain.ru
И добавьте примерно такую конфигурацию:
server {
listen 443 ssl;
server_name yourdomain.ru www.yourdomain.ru;
ssl_certificate /etc/letsencrypt/live/yourdomain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.ru/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
location / {
proxy_pass http://127.0.0.1:8080; # Адрес вашего бэкенда
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Если у вас есть редиректы с HTTP на HTTPS, их можно настроить так:
server {
listen 80;
server_name yourdomain.ru www.yourdomain.ru;
return 301 https://$host$request_uri;
}
- Проверка и перезагрузка nginx
Проверьте конфигурацию на ошибки:
sudo nginx -t
Если всё хорошо — перезапустите nginx:
sudo systemctl reload nginx
Итог
Теперь ваш nginx работает как надежный HTTPS-прокси, защищая ваши данные и повышая доверие пользователей. Настройка не занимает много времени, а эффект заметен сразу — безопасность и профессиональный вид сайта обеспечены.