fix and update
This commit is contained in:
45
install.sh
45
install.sh
@@ -10,7 +10,7 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_VERSION="2.3.3"
|
||||
SCRIPT_VERSION="2.3.4"
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
@@ -362,6 +362,17 @@ stop_docker_nginx() {
|
||||
fi
|
||||
}
|
||||
|
||||
reload_docker_nginx() {
|
||||
docker_nginx_container_running || return 0
|
||||
log "Перезагрузка конфигурации Docker Nginx..."
|
||||
if docker_cmd compose --env-file .env --profile proxy exec -T nginx nginx -s reload 2>/dev/null; then
|
||||
ok "Docker Nginx: конфигурация перезагружена"
|
||||
else
|
||||
warn "nginx -s reload не удался — перезапуск контейнера lendry-id-nginx"
|
||||
docker_cmd compose --env-file .env --profile proxy restart nginx 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
prepare_compose_stack() {
|
||||
resolve_nginx_mode_and_ports
|
||||
write_compose_override
|
||||
@@ -1996,22 +2007,33 @@ EOF
|
||||
# Блок location / для отдельного домена API (api.example.com).
|
||||
# CORS полностью на api-gateway (enableCors) — nginx только проксирует,
|
||||
# иначе add_header/if в nginx ломают ответы на авторизованные cross-origin запросы (502).
|
||||
# docker: НЕ используем upstream{} — nginx резолвит api-gateway один раз при старте
|
||||
# и после пересборки контейнера (новый IP) все запросы дают 502 Connection refused.
|
||||
build_nginx_api_upstream_block() {
|
||||
local upstream
|
||||
if [[ "$NGINX_MODE" == "docker" ]]; then
|
||||
upstream="api-gateway:3000"
|
||||
else
|
||||
upstream="127.0.0.1:3000"
|
||||
return 0
|
||||
fi
|
||||
cat <<EOF
|
||||
upstream ${NGINX_PREFIX}_api {
|
||||
server ${upstream};
|
||||
server 127.0.0.1:3000;
|
||||
keepalive 64;
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
build_nginx_api_location_block() {
|
||||
if [[ "$NGINX_MODE" == "docker" ]]; then
|
||||
local proxy
|
||||
proxy="$(render_proxy_root api)"
|
||||
cat <<EOF
|
||||
location / {
|
||||
${proxy}
|
||||
proxy_http_version 1.1;
|
||||
${nginx_proxy_headers}
|
||||
}
|
||||
EOF
|
||||
return 0
|
||||
fi
|
||||
cat <<EOF
|
||||
location / {
|
||||
proxy_pass http://${NGINX_PREFIX}_api;
|
||||
@@ -2400,6 +2422,7 @@ write_all_nginx_configs() {
|
||||
fi
|
||||
else
|
||||
ok "Конфиги Nginx: ${LOCAL_CONF_DIR}"
|
||||
reload_docker_nginx
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -2770,6 +2793,12 @@ diagnose_common_issues() {
|
||||
elif [[ "$(env_get NGINX_MODE docker)" == "docker" ]] && compose_uses_proxy_profile; then
|
||||
echo -e " ${YELLOW}!${NC} Docker Nginx не запущен (ожидался в режиме docker)"
|
||||
issues=$((issues + 1))
|
||||
elif [[ "$(env_get NGINX_MODE docker)" == "docker" ]] \
|
||||
&& [[ -f "${LOCAL_CONF_DIR}/${NGINX_PREFIX}-api.conf" ]] \
|
||||
&& grep -q "upstream ${NGINX_PREFIX}_api" "${LOCAL_CONF_DIR}/${NGINX_PREFIX}-api.conf" 2>/dev/null; then
|
||||
echo -e " ${RED}✘${NC} Конфиг API-домена использует статический upstream — после пересборки api-gateway будет 502"
|
||||
echo " Решение: ./install.sh --fix-all (перегенерирует конфиг с динамическим DNS)"
|
||||
issues=$((issues + 1))
|
||||
elif [[ "$(env_get NGINX_MODE docker)" == "host" ]]; then
|
||||
if system_nginx_is_active; then
|
||||
echo -e " ${GREEN}✔${NC} Системный Nginx: активен"
|
||||
@@ -3110,7 +3139,7 @@ action_fix_all_errors() {
|
||||
wait_for_api_grpc_ready 90 || compose_build_and_up api-gateway
|
||||
|
||||
log "Шаг 4/6: пересоздание edge-сервисов (frontend, docs, media-ws)..."
|
||||
compose_build_and_up "${HOST_EDGE_SERVICES[@]}"
|
||||
compose_build_and_up frontend docs media-ws
|
||||
wait_for_service "frontend" 60
|
||||
wait_for_service "docs" 60
|
||||
|
||||
@@ -3134,6 +3163,8 @@ action_fix_all_errors() {
|
||||
apply_intranet_selfsigned_runtime
|
||||
compose_build_and_up nginx ldap-auth
|
||||
wait_for_service "nginx" 45
|
||||
reload_docker_nginx
|
||||
wait_for_api_grpc_ready 30 || true
|
||||
if ! docker_nginx_container_running; then
|
||||
fail "Контейнер lendry-id-nginx не запущен. Проверьте: docker compose --profile proxy logs nginx"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user