#!/bin/bash echo "🔧 Исправление хардкод ссылок localhost:8000" echo "=============================================" # Обновляем переменную SSL редиректа в production на False для правильной работы через nginx echo "Обновление .env с новыми URL настройками..." # Проверяем, что SSL редирект отключен для production grep -q "DJANGO_SECURE_SSL_REDIRECT=True" .env && { echo "⚠️ Обнаружен SSL редирект в True - отключаем для правильной работы через nginx" sed -i 's/DJANGO_SECURE_SSL_REDIRECT=True/DJANGO_SECURE_SSL_REDIRECT=False/' .env } echo "✅ Переменные окружения обновлены" echo "" echo "Проверка текущих URL настроек в .env:" echo "======================================" grep -E "(NEXT_PUBLIC_API_URL|DJANGO_BACKEND|DJANGO_SECURE_SSL_REDIRECT)" .env | head -10 echo "" echo "Перезапуск контейнеров для применения изменений..." echo "==================================================" # Перезапускаем только web контейнер (backend) echo "Перезапуск backend контейнера..." docker compose restart web # Ждем запуска sleep 5 # Проверяем, что контейнеры запущены echo "" echo "Статус контейнеров:" docker ps --format "table {{.Names}}\t{{.Status}}" echo "" echo "Проверка переменных окружения в контейнере:" echo "===========================================" docker exec links-web-1 env | grep -E "(DJANGO_BACKEND|DJANGO_SECURE_SSL_REDIRECT)" | head -5 echo "" echo "Быстрая проверка API:" echo "====================" # Ждем еще немного для полного запуска sleep 3 echo -n "Локальный API (backend): " if curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/api/ | grep -q "200"; then echo "✅ OK" else echo "❌ ERROR" fi echo -n "Внешний API (nginx): " if curl -s -o /dev/null -w "%{http_code}" https://links.shareon.kr/api/ | grep -q "200"; then echo "✅ OK" else echo "❌ ERROR" fi echo "" echo "🎉 Исправление завершено!" echo "========================" echo "" echo "✅ Изменения:" echo " • Создана утилита backend/backend/utils.py для работы с URL" echo " • Обновлены serializers для использования переменных окружения" echo " • Обновлены views для использования normalize_file_url()" echo " • Исправлены хардкод ссылки в frontend компонентах" echo " • URL теперь берутся из DJANGO_BACKEND_URL и NEXT_PUBLIC_API_URL" echo "" echo "⚠️ Рекомендация: Пересобрать frontend для применения изменений" echo "cd frontend/linktree-frontend && npm run build"