some fixes
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-11-08 18:45:20 +09:00
parent 20014d3a81
commit fb74a4a25d
9 changed files with 538 additions and 2 deletions

75
scripts/fix-nginx-admin.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/bin/bash
# scripts/fix-nginx-admin.sh - Исправление маршрута admin в nginx
set -e
echo "🔧 Исправление маршрута /admin в nginx..."
# Проверяем, существует ли файл конфигурации
if [ ! -f "/etc/nginx/sites-available/links" ]; then
echo "❌ Конфигурация nginx не найдена. Создаем новую..."
sudo ./scripts/setup-nginx.sh
exit 0
fi
echo "📄 Текущая конфигурация nginx:"
sudo cat /etc/nginx/sites-available/links | grep -A 5 -B 2 "location /admin"
echo ""
echo "🔍 Проверяем текущую конфигурацию..."
# Проверим, есть ли маршрут admin
if sudo grep -q "location /admin/" /etc/nginx/sites-available/links; then
echo "✅ Маршрут /admin/ найден в конфигурации"
else
echo "❌ Маршрут /admin/ не найден. Добавляем..."
# Создаем backup
sudo cp /etc/nginx/sites-available/links "/etc/nginx/sites-available/links.backup.$(date +%Y%m%d_%H%M%S)"
# Добавляем маршрут admin после API
sudo sed -i '/location \/api\// a\\n # Proxy admin requests to backend (Django)\n location /admin/ {\n proxy_pass http://localhost:8000;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header X-Forwarded-Proto $scheme;\n }' /etc/nginx/sites-available/links
fi
echo ""
echo "🧪 Проверяем конфигурацию nginx..."
if sudo nginx -t; then
echo "✅ Конфигурация nginx корректна"
else
echo "❌ Ошибка в конфигурации nginx"
exit 1
fi
echo ""
echo "🔄 Перезагружаем nginx..."
sudo systemctl reload nginx
echo ""
echo "🧪 Тестируем маршрут /admin..."
sleep 2
if curl -s -o /dev/null -w "%{http_code}" http://localhost/admin/ | grep -q "200\|302"; then
echo "✅ Маршрут /admin/ работает через nginx"
else
echo "❌ Маршрут /admin/ не работает"
echo ""
echo "🔍 Дополнительная диагностика:"
echo " - Проверяем статус контейнеров:"
docker-compose ps
echo ""
echo " - Проверяем прямое подключение к Django:"
if curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/admin/ | grep -q "200\|302"; then
echo " ✅ Django admin доступен напрямую"
echo " ❌ Проблема в конфигурации nginx"
else
echo " ❌ Django admin недоступен напрямую"
echo " ❌ Проблема в Django контейнере"
fi
fi
echo ""
echo "📋 Полная конфигурация nginx:"
sudo cat /etc/nginx/sites-available/links
echo ""
echo "✅ Исправление завершено!"