Fix hardcoded localhost:8000 URLs
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
- 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
This commit is contained in:
76
scripts/fix-hardcoded-urls.sh
Executable file
76
scripts/fix-hardcoded-urls.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user