uploader-bot/fix_nginx_now.sh

104 lines
3.3 KiB
Bash
Raw Permalink 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 конфигурации
# Исправляет ошибку "proxy_pass cannot have URI part in location given by regular expression"
echo "🔧 Исправление nginx конфигурации..."
# Резервная копия
sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/default.backup.$(date +%s)
# Создание корректной конфигурации
sudo tee /etc/nginx/sites-available/default > /dev/null << 'EOF'
server {
listen 80;
server_name _;
# Максимальный размер загружаемых файлов
client_max_body_size 100M;
# API проксирование (исправлено)
location /api/ {
proxy_pass http://localhost: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;
proxy_buffering off;
}
# Health check
location /health {
proxy_pass http://localhost:3000/api/health;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# Альтернативные порты
location /api5000/ {
proxy_pass http://localhost:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# WebSocket поддержка
location /ws/ {
proxy_pass http://localhost:3000/ws/;
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;
}
# Основная страница
location / {
proxy_pass http://localhost: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;
}
# Gzip сжатие
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json;
}
EOF
# Тестирование конфигурации
echo "🧪 Тестирование nginx..."
if sudo nginx -t; then
echo "✅ Конфигурация корректна"
sudo systemctl reload nginx
echo "✅ Nginx перезагружен"
else
echo "❌ Ошибка в конфигурации!"
exit 1
fi
echo ""
echo "🌐 Тестирование соединений:"
sleep 3
# Тест nginx proxy
if timeout 5 curl -s http://localhost/health > /dev/null 2>&1; then
echo "✅ nginx proxy (/health) - РАБОТАЕТ"
else
echo "❌ nginx proxy (/health) - НЕ РАБОТАЕТ"
fi
if timeout 5 curl -s http://localhost/api/health > /dev/null 2>&1; then
echo "✅ nginx proxy (/api/health) - РАБОТАЕТ"
else
echo "❌ nginx proxy (/api/health) - НЕ РАБОТАЕТ"
fi
echo ""
echo "✅ Nginx исправлен! Теперь можно настроить домен и SSL:"
echo "sudo ./scripts/setup_domain_ssl.sh"