logo
logo

Высокопроизводительные виртуальные серверы в России и Европе.

    УСЛУГИ
  • Виртуальные серверы
  • Выделенные серверы
  • Домены
    ПОДДЕРЖКА
  • Написать в Telegram
  • support@vdsok.guru
  • abuse@as202831.network
  • Контакты
    ИНСТРУМЕНТЫ
  • Looking Glass
    ПРАВОВАЯ ИНФОРМАЦИЯ
  • Пользовательское соглашение
  • Политика конфиденциальности
  • Публичная оферта
  • TrustPilot
© 2026 VDSok.guru. Все права защищены.
CryptoBot Lolz.Guru Heleket FreeKassa Lava.ru 2328.io NOWPayments
DMCA.com Protection Status
База знанийСодержаниеУстановка NginxКонфигурация server blockНастройка proxy_passSSL через Let's Encrypt и CertbotАвтообновление сертификатов
Туториалы2 мая 20262 мин

Nginx как reverse proxy с SSL

Установка Nginx

На Ubuntu/Debian установите Nginx:
sudo apt update && sudo apt install nginx
После установки Nginx запустится автоматически и будет слушать порт 80. Проверьте статус:
sudo systemctl status nginx
Откройте IP сервера в браузере — вы должны увидеть стандартную страницу Nginx. Если используете файрвол UFW, разрешите HTTP и HTTPS:
sudo ufw allow 'Nginx Full'
На этом этапе Nginx работает как обычный веб-сервер и отдаёт статику из /var/www/html/.

Конфигурация server block

Создайте файл конфигурации для вашего домена:
sudo nano /etc/nginx/sites-available/yourdomain.com
Базовая структура конфига:
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}
Активируйте конфигурацию и проверьте:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Настройка proxy_pass

Директива proxy_pass указывает, куда Nginx перенаправляет запросы. Полный пример блока location с правильными заголовками:
location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    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;
    proxy_set_header Connection "";
}
Без этих заголовков ваше приложение не будет знать реальный IP клиента и протокол (HTTP/HTTPS). Заголовок X-Forwarded-Proto особенно важен если приложение генерирует URL — без него ссылки будут http вместо https.

SSL через Let's Encrypt и Certbot

Установите Certbot:
sudo apt install certbot python3-certbot-nginx
Запустите получение сертификата:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot автоматически изменит конфигурацию Nginx, добавив блок для HTTPS (порт 443) и редирект с HTTP. Убедитесь, что домен уже указывает на IP вашего сервера — Certbot проверяет владение доменом через HTTP-запрос. Сертификаты Let's Encrypt действуют 90 дней, но Certbot при установке настраивает автоматическое обновление через systemd-таймер или cron.

Автообновление сертификатов

Проверьте, что таймер обновления активен:
sudo systemctl status certbot.timer
Для ручной проверки используйте:
sudo certbot renew --dry-run
Если всё работает — сертификаты будут обновляться автоматически за 30 дней до истечения. На случай проблем полезно добавить post-hook для перезагрузки Nginx после обновления: в файле /etc/letsencrypt/renewal/yourdomain.com.conf добавьте renew_hook = systemctl reload nginx. Следите за почтой, указанной при регистрации в Certbot — Let's Encrypt присылает уведомления, если сертификат скоро истекает и не был обновлён.
Читайте также

Как перенести сайт на новый сервер

3 мин

Настройка SSH — ключи, безопасность, алиасы

2 мин

Настройка файрвола UFW за 5 минут

2 мин