infra/@beget-kondurov.server/ACCESS_RESTORED_REPORT.md

🎉 Отчет: Доступ к Beget сервер восстановлен

Дата: 2025-11-14 02:07
Сервер: kondurov.beget.tech (epsilon2)
Проект: @remote-beget-kondurov


✅ Проблема решена полностью!

Beget Support разблокировал IP адрес 91.218.142.168 для:
- ✅ SSH доступа (порт 22)
- ✅ HTTP/HTTPS доступа к сайтам


📊 Статус доступа

SSH Access

sshpass -p "$BEGET_PASSWORD" ssh kondurov@kondurov.beget.tech

Результат:
- ✅ Connection established
- ✅ Пользователь: kondurov
- ✅ Home: /home/k/kondurov
- ✅ Сервер: epsilon2

Проверено:
- whoami → kondurov
- pwd → /home/k/kondurov
- ls -la → список всех доменов

Web Access (pirotehnika.spb.ru)

curl -I https://pirotehnika.spb.ru

Результат:

HTTP/2 200 OK
server: nginx-reuseport/1.21.1
content-type: text/html; charset=utf-8
x-powered-by: PHP/7.4.33

Проверено:
- ✅ Сайт отдаёт страницу (200 OK)
- ✅ OpenCart работает (cookies OCSESSID)
- ✅ PHP 7.4.33, nginx


📁 Обнаруженные проекты на сервере

На аккаунте kondurov обнаружены следующие домены:

  1. pirotehnika.spb.ru ← целевой проект
  2. pirotehnika.msk.ru
  3. pirotehnika-msk.ru
  4. ai.kondurov.net
  5. akeneo.kondurov.beget.tech
  6. art.kondurov.beget.tech
  7. battregress.ru
  8. archive.kondurov.net
  9. commerce.kondurov.beget.tech
  10. cs-cart
  11. cskondurov.beget.tech
  12. ... и другие

Всего: 20+ доменов/проектов


🗂️ Структура pirotehnika.spb.ru

/home/k/kondurov/pirotehnika.spb.ru/
├── public_html/     ← основной сайт (OpenCart)
├── old/             ← старая версия
└── private_files@   ← симлинк на /home/k/kondurov/1/private_files

База данных: kondurov_oc


🎯 Закрытые тикеты

ISSUE-001: SSH Access

ISSUE-002: Site IP Whitelist

Оба тикета решены одновременно - Beget добавил IP в общий whitelist.


📝 Созданная документация

1. Правила работы с Shared Hosting

Файл: platform/.claude/SHARED-HOSTING-RULES.md

Содержание:
- ✅ Checklist первого подключения к shared hosting
- ✅ Как избежать блокировки IP
- ✅ Признаки блокировки и что делать
- ✅ Helper функции для безопасной работы
- ✅ Примеры из практики (Beget case)

Основные правила:
1. Использовать браузерный User-Agent
2. Делать задержки между запросами (sleep 2-3 сек)
3. Не парсить весь сайт сразу
4. Сразу запрашивать whitelist если получили блокировку
5. Не пытаться обойти защиту

2. Обновленные issue

ISSUE-001-SSH-ACCESS.md:
- Статус изменен: WAITING → RESOLVED
- Добавлена история решения
- Указано время: ~6 часов

ISSUE-002-SITE-IP-WHITELIST.md:
- Статус изменен: WAITING → RESOLVED
- Добавлен результат проверки HTTP/2 200
- Указаны технические детали (PHP 7.4.33, nginx)


🚀 Готовность к работе

Теперь доступны следующие операции:

SSH команды

# Просмотр файлов
sshpass -p "$BEGET_PASSWORD" ssh kondurov@kondurov.beget.tech "ls -la pirotehnika.spb.ru/public_html/"

# Скачивание файлов
sshpass -p "$BEGET_PASSWORD" scp kondurov@kondurov.beget.tech:/path/to/file ./

# Загрузка файлов
sshpass -p "$BEGET_PASSWORD" scp ./local-file kondurov@kondurov.beget.tech:/path/

Web операции

# Проверка доступности
curl -I https://pirotehnika.spb.ru

# Парсинг страницы (с задержками!)
curl -A "Mozilla/5.0..." https://pirotehnika.spb.ru
sleep 3

Playwright автоматизация

const page = await context.newPage();
await page.goto('https://pirotehnika.spb.ru');
await page.waitForTimeout(3000); // задержка!

⏭️ Следующие шаги

Немедленно доступные задачи:

  1. SEO аудит pirotehnika.spb.ru
    - Анализ структуры сайта
    - Проверка мета-тегов
    - Анализ скорости загрузки
    - Проверка mobile-friendly

  2. Инвентаризация проектов
    - Пройтись по всем 20+ доменам
    - Определить какие работают
    - Какие нужно обновить/удалить

  3. Настройка мониторинга
    - Uptime monitoring для pirotehnika.spb.ru
    - Проверка SSL сертификатов
    - Мониторинг места на диске

  4. Бэкапы
    - Настроить регулярные бэкапы через Beget API
    - Скачать текущую версию сайта


📚 Полезные команды

SSH с сохранением в ~/.ssh/config

cat >> ~/.ssh/config << 'EOF'
Host beget-kondurov
    HostName kondurov.beget.tech
    User kondurov
    StrictHostKeyChecking no
EOF

# Использование:
sshpass -p "$BEGET_PASSWORD" ssh beget-kondurov

Безопасный curl

# С браузерным User-Agent и задержкой
alias beget-curl='curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" --max-time 10'

beget-curl -I https://pirotehnika.spb.ru
sleep 3

🔐 Credentials

Панель управления:
- URL: https://cp.beget.com/
- Login: kondurov
- Password: см. .credentials.md

SSH:
- Host: kondurov.beget.tech
- Port: 22
- User: kondurov
- Password: см. .credentials.md

База данных:
- DB Name: kondurov_oc
- DB User: kondurov_oc
- DB Pass: Nj5Ub%ktZzy*

Сервер: epsilon2 (87.236.19.149)


📊 Метрики работы Support

Скорость решения: Отлично!
- Тикет #2716204: ~6 часов
- Тикет #2716207: ~1 час
- Общее время: менее суток

Качество:
- ✅ Понятные ответы
- ✅ Быстрое решение
- ✅ Проблема решена полностью

Оценка Beget Support: 5/5 ⭐⭐⭐⭐⭐


🎓 Уроки для будущего

  1. Shared hosting блокирует datacenter IP по умолчанию
    - Всегда проверять доступность перед работой
    - Сразу запрашивать whitelist

  2. Не пытаться обходить блокировку
    - VPN/Proxy только усугубит
    - Support решает быстрее

  3. Использовать "человеческое" поведение
    - Браузерный User-Agent
    - Задержки между запросами
    - Не парсить массово

  4. Документировать всё
    - Правила работы
    - Credentials
    - Структуру проектов


Дата создания: 2025-11-14 02:07
Статус: Доступ полностью восстановлен
Готовность: Можно работать со всеми проектами на сервере