Files
links/scripts/test-nginx-config.sh
Andrey K. Choi fd76f56249
Some checks failed
continuous-integration/drone/push Build is failing
🚀 Расширена команда build-prod с автоматической настройкой nginx
 Новые возможности:
- 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, защитные заголовки
2025-11-02 11:05:51 +09:00

68 lines
2.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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)"