Some checks failed
continuous-integration/drone/push Build is failing
✨ Новые возможности: - build-prod теперь проверяет и устанавливает nginx + certbot - Автоматическая настройка проксирования порта 80 → 3000 (frontend) - Настройка маршрутизации API/admin → порт 8000 (backend) - SSL конфигурация с современными стандартами безопасности 🔧 Новые команды: - make build-prod - сборка + nginx настройка - make ssl-cert - получение SSL сертификата - make deploy-full - полное развертывание с SSL 📝 Документация: - docs/NGINX_DEPLOYMENT.md - подробное руководство - scripts/test-nginx-config.sh - тестовый скрипт 🌐 Маршрутизация: - https://links.shareon.kr/ → localhost:3000 (Next.js) - https://links.shareon.kr/api/ → localhost:8000 (Django) - https://links.shareon.kr/admin/ → localhost:8000 (Django) 🔒 Безопасность: HTTPS редирект, HSTS, защитные заголовки
3.2 KiB
3.2 KiB
Продакшен развертывание с nginx
Новые команды
make build-prod
Расширенная сборка для продакшена с автоматической настройкой nginx
Команда выполняет:
- Сборка Docker образов для продакшена
- Проверка и установка nginx (если не установлен)
- Проверка и установка certbot (если не установлен)
- Создание конфигурации nginx для проксирования:
http://80→https://443(редирект)https://links.shareon.kr/→http://localhost:3000(Next.js frontend)https://links.shareon.kr/api/→http://localhost:8000(Django API)https://links.shareon.kr/admin/→http://localhost:8000(Django admin)
- Активация конфигурации и перезапуск nginx
make ssl-cert
Автоматическое получение SSL сертификата от Let's Encrypt
Использует certbot для получения сертификата для доменов:
links.shareon.krsharon.kr
make deploy-full
Полное развертывание в продакшен с SSL
Выполняет полный цикл развертывания:
make build-prod- сборка и настройка nginxmake up-prod- запуск контейнеровmake migrate- выполнение миграций БДmake ssl-cert- получение SSL сертификата
Схема проксирования
Internet → nginx:443 (SSL) → localhost:3000 (Frontend)
→ localhost:8000 (API/Admin)
Маршрутизация
| URL | Назначение | Порт |
|---|---|---|
https://links.shareon.kr/ |
Next.js Frontend | 3000 |
https://links.shareon.kr/api/ |
Django REST API | 8000 |
https://links.shareon.kr/admin/ |
Django Admin | 8000 |
https://links.shareon.kr/static/ |
Django Static files | 8000 |
https://links.shareon.kr/media/ |
Django Media files | 8000 |
Использование
Первичное развертывание
make deploy-full
Обновление кода
git pull
make build-prod
make up-prod
make migrate
Только обновление SSL сертификата
make ssl-cert
Безопасность
Nginx конфигурация включает:
- Автоматический редирект HTTP → HTTPS
- HSTS заголовки
- Защитные заголовки (X-Frame-Options, X-Content-Type-Options, X-XSS-Protection)
- Современные SSL протоколы (TLS 1.2, TLS 1.3)
Требования
- Ubuntu/Debian сервер
- sudo доступ для установки nginx/certbot
- Настроенные DNS записи для доменов
- Открытые порты 80 и 443