84 lines
2.8 KiB
Bash
84 lines
2.8 KiB
Bash
#!/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" |