🚀 Расширена команда build-prod с автоматической настройкой nginx
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, защитные заголовки
This commit is contained in:
2025-11-02 11:05:51 +09:00
parent 0963ac97b2
commit fd76f56249
4 changed files with 272 additions and 14 deletions

68
scripts/test-nginx-config.sh Executable file
View File

@@ -0,0 +1,68 @@
#!/bin/bash
# Тестовый скрипт для демонстрации nginx конфигурации
echo "🧪 Тестирование nginx конфигурации для CatLink"
echo "================================================"
# Проверка наличия nginx
if command -v nginx &> /dev/null; then
echo "✅ nginx установлен: $(nginx -v 2>&1)"
else
echo "❌ nginx не установлен"
fi
# Проверка наличия certbot
if command -v certbot &> /dev/null; then
echo "✅ certbot установлен: $(certbot --version 2>&1 | head -1)"
else
echo "❌ certbot не установлен"
fi
# Показать пример конфигурации nginx
echo ""
echo "📝 Пример конфигурации nginx для links.shareon.kr:"
echo "================================================"
cat << 'EOF'
server {
listen 80;
server_name links.shareon.kr sharon.kr;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name links.shareon.kr sharon.kr;
# Proxy to frontend (Next.js) на порт 3000
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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 API requests to backend (Django)
location /api/ {
proxy_pass http://localhost:8000;
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;
}
}
EOF
echo ""
echo "🔧 Команды для настройки:"
echo "========================="
echo "1. make build-prod # Сборка + установка nginx/certbot + настройка"
echo "2. make ssl-cert # Получение SSL сертификата"
echo "3. make deploy-full # Полное развертывание с SSL"
echo ""
echo "🌐 После настройки:"
echo " http://links.shareon.kr → https://links.shareon.kr (порт 3000)"
echo " https://links.shareon.kr/api/ → Django backend (порт 8000)"