fix and update

This commit is contained in:
lendry
2026-06-29 19:43:44 +03:00
parent d312e76abb
commit 115dc4e829
3 changed files with 30 additions and 8 deletions

View File

@@ -10,7 +10,7 @@
set -euo pipefail
SCRIPT_VERSION="2.3.5"
SCRIPT_VERSION="2.3.6"
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT_DIR"
@@ -1876,7 +1876,7 @@ nginx_proxy_headers=" proxy_set_header Host \$host;
# Встроенный DNS Docker. В docker-режиме nginx обязан перерезолвлять имена
# бэкенд-контейнеров на каждый запрос — иначе после пересборки контейнера
# (новый IP) остаётся закешированный старый адрес и все ответы становятся 502.
NGINX_DOCKER_RESOLVER=" resolver 127.0.0.11 ipv6=off valid=10s;"
NGINX_DOCKER_RESOLVER=" resolver 127.0.0.11 ipv6=off valid=1s;"
# Имя nginx-переменной из ключа апстрима (только [A-Za-z0-9_]).
nginx_upstream_var() {
@@ -3216,10 +3216,13 @@ action_fix_all_errors() {
wait_for_service "api-gateway" 90
wait_for_api_grpc_ready 90 || compose_build_and_up api-gateway
log "Шаг 4/6: пересоздание edge-сервисов (frontend, docs, media-ws)..."
log "Шаг 4/6: пересборка frontend (same-origin /idp-api), docs, media-ws..."
compose_build_and_up frontend docs media-ws
wait_for_service "frontend" 60
wait_for_service "frontend" 90
wait_for_service "docs" 60
local baked_api
baked_api="$(docker_cmd exec lendry-id-frontend printenv NEXT_PUBLIC_API_URL 2>/dev/null || true)"
log "frontend NEXT_PUBLIC_API_URL=${baked_api:-не задан} (браузер SPA использует /idp-api на SSO)"
log "Шаг 5/6: Docker Nginx — конфиги в ./nginx/conf.d и контейнер lendry-id-nginx..."
local ssl_type
@@ -3257,8 +3260,9 @@ action_fix_all_errors() {
api_domain="$(env_get DOMAIN_API "")"
frontend_domain="$(env_get DOMAIN_FRONTEND "")"
if [[ -n "$api_domain" && -n "$frontend_domain" && "$api_domain" != "$frontend_domain" ]]; then
echo " Split-domain: в DevTools → Network запросы должны идти на https://${api_domain}/...,"
echo " а не на https://${frontend_domain}/idp-api/..."
echo " Split-domain: в DevTools → Network запросы SPA должны идти на"
echo " https://${frontend_domain}/idp-api/... (same-origin), а не на https://${api_domain}/..."
echo " PUBLIC_API_URL=https://${api_domain} — для OAuth issuer и внешних клиентов."
echo " После пересборки frontend обновите страницу с полным сбросом кеша (Ctrl+Shift+R)."
else
echo " Проверьте в браузере — запросы к /idp-api/* должны отвечать 200."