diff --git a/emergency_nginx_fix.sh b/emergency_nginx_fix.sh new file mode 100644 index 0000000..b3e264e --- /dev/null +++ b/emergency_nginx_fix.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +# ЭКСТРЕННОЕ ИСПРАВЛЕНИЕ NGINX +# Удаляет все backup файлы и создает чистую конфигурацию + +echo "🚨 ЭКСТРЕННОЕ ИСПРАВЛЕНИЕ NGINX" + +# Остановка nginx +sudo systemctl stop nginx + +# Удаление всех backup и проблемных файлов +echo "🗑️ Удаление всех backup файлов nginx..." +sudo rm -f /etc/nginx/sites-enabled/default.backup.* +sudo rm -f /etc/nginx/sites-available/default.backup.* + +# Удаление текущего default файла +sudo rm -f /etc/nginx/sites-enabled/default +sudo rm -f /etc/nginx/sites-available/default + +# Создание абсолютно чистой конфигурации +echo "🔧 Создание чистой nginx конфигурации..." +sudo tee /etc/nginx/sites-available/default > /dev/null << 'EOF' +server { + listen 80; + server_name _; + + client_max_body_size 100M; + + location /api/ { + proxy_pass http://127.0.0.1:3000/api/; + 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_connect_timeout 60s; + proxy_send_timeout 60s; + proxy_read_timeout 60s; + } + + location /health { + proxy_pass http://127.0.0.1:3000/api/health; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + } + + location / { + proxy_pass http://127.0.0.1:3000/; + 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 + +# Создание символической ссылки +sudo ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default + +# Тестирование +echo "🧪 Тестирование новой конфигурации..." +if sudo nginx -t; then + echo "✅ Конфигурация корректна!" + sudo systemctl start nginx + sudo systemctl status nginx --no-pager + echo "✅ Nginx запущен!" +else + echo "❌ Ошибка в конфигурации!" + # Показать более детальную информацию + sudo nginx -T 2>&1 | tail -20 + exit 1 +fi + +echo "" +echo "🧪 Тестирование работы..." +sleep 3 + +if curl -s http://localhost/health > /dev/null 2>&1; then + echo "✅ nginx работает: http://localhost/health" +else + echo "❌ nginx не отвечает на http://localhost/health" +fi + +echo "" +echo "✅ Nginx исправлен! Теперь можно продолжить настройку SSL" \ No newline at end of file