nakama/🔧_ИСПРАВЛЕНИЯ_СЕРВЕРА.txt

137 lines
6.7 KiB
Plaintext
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.

╔═══════════════════════════════════════════════════════════════════╗
║ ║
║ 🔧 ИСПРАВЛЕНИЯ ДЛЯ СЕРВЕРА 🔧 ║
║ ║
╚═══════════════════════════════════════════════════════════════════╝
ИСПРАВЛЕНО:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 1. Добавлены недостающие зависимости в package.json
• helmet: ^7.1.0
• express-mongo-sanitize: ^2.2.0
• xss-clean: ^0.1.4
• hpp: ^0.2.3
✅ 2. Исправлена логика авторизации в App.jsx
• Проверка наличия window.Telegram?.WebApp перед проверкой пользователя
• Добавлена задержка на инициализацию Telegram Web App (200ms)
• Правильная обработка официального клиента Telegram
КОМАНДЫ ДЛЯ ОБНОВЛЕНИЯ НА СЕРВЕРЕ:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 1. Подключиться к серверу
ssh root@nakama.glpshchn.ru
# 2. Остановить приложение (чтобы избежать постоянных ребутов)
pm2 stop nakama-backend
# 3. Перейти в директорию проекта
cd /var/www/nakama
# 4. Обновить код (если используете Git)
git pull origin main
# 5. Установить недостающие зависимости
npm install helmet express-mongo-sanitize xss-clean hpp --save
# Или установить все зависимости заново
npm install --production
# 6. Проверить что зависимости установлены
npm list helmet express-mongo-sanitize xss-clean hpp
# 7. Пересобрать frontend (с исправленной логикой авторизации)
cd frontend
npm run build
cd ..
# 8. Проверить что сервер запускается (вручную)
cd backend
node server.js
# Если есть ошибки - исправить их
# Если все ок - остановить (Ctrl+C)
# 9. Запустить через PM2
pm2 start backend/server.js --name nakama-backend --update-env
# Или если уже есть конфиг:
pm2 restart nakama-backend --update-env
# 10. Проверить статус
pm2 status
pm2 logs nakama-backend --lines 50
БЫСТРАЯ КОМАНДА (одна строка):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ssh root@nakama.glpshchn.ru "cd /var/www/nakama && pm2 stop nakama-backend && npm install helmet express-mongo-sanitize xss-clean hpp --save && cd frontend && npm run build && cd .. && pm2 start backend/server.js --name nakama-backend --update-env && sleep 2 && pm2 status && pm2 logs nakama-backend --lines 30"
ПРОВЕРКА ПОСЛЕ ОБНОВЛЕНИЯ:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 1. Проверить что приложение запущено
pm2 status
# Должно быть: nakama-backend | online
# 2. Проверить логи (не должно быть ошибок MODULE_NOT_FOUND)
pm2 logs nakama-backend --lines 50
# Не должно быть: Error: Cannot find module 'helmet'
# 3. Проверить health endpoint
curl http://localhost:3000/health
# Должно вернуть: {"status":"ok","environment":"production",...}
# 4. Проверить через браузер
curl https://nakama.glpshchn.ru/health
# Должно вернуть: {"status":"ok",...}
# 5. Проверить Nginx
sudo systemctl status nginx
sudo nginx -t
# 6. Проверить логи Nginx
sudo tail -f /var/log/nginx/error.log
# Не должно быть 502 ошибок
ЧТО ИСПРАВЛЕНО:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Проблема 1: Error: Cannot find module 'helmet'
РЕШЕНИЕ: Добавлены зависимости в package.json
✅ Проблема 2: Даже с офф клиента Telegram просит авторизацию
РЕШЕНИЕ: Исправлена логика в App.jsx - теперь правильно проверяет
наличие Telegram Web App API и дает время на инициализацию
✅ Проблема 3: 502 ошибка и постоянные ребуты
РЕШЕНИЕ: После установки зависимостей приложение должно запускаться
без ошибок и перестать ребутиться
ВАЖНО:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. После установки зависимостей ОБЯЗАТЕЛЬНО пересобрать frontend
(npm run build в директории frontend)
2. Перезапустить PM2 с флагом --update-env для обновления переменных
3. Проверить логи PM2 после перезапуска
4. Если все еще есть ошибки - проверить что все зависимости установлены:
npm list helmet express-mongo-sanitize xss-clean hpp
ГОТОВО! ✅
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
После выполнения этих команд все три проблемы должны быть решены!