🚀 Расширена команда build-prod с автоматической настройкой nginx
Some checks failed
continuous-integration/drone/push Build is failing
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:
68
scripts/test-nginx-config.sh
Executable file
68
scripts/test-nginx-config.sh
Executable 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)"
|
||||
Reference in New Issue
Block a user