Files
links/scripts/fix-hardcoded-urls.sh
Andrey K. Choi e82f0f8e6f
Some checks failed
continuous-integration/drone/push Build is failing
Fix hardcoded localhost:8000 URLs
- Add backend/utils.py for URL management
- Update serializers to use normalize_file_url()
- Update views to use URL utils from env vars
- Fix frontend components to use NEXT_PUBLIC_API_URL
- Add new env vars: DJANGO_BACKEND_URL, DJANGO_MEDIA_BASE_URL
- Replace all hardcoded localhost:8000 with configurable URLs
2025-11-08 19:25:35 +09:00

76 lines
3.1 KiB
Bash
Executable File
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
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"