fix: deploy.sh 后端域名 nginx 配置 — /docs /redoc 走 backend 而非 frontend
后端域名 (-backend.plfai.cn) 不需要前端,location / 应直接代理到 backend:8000, 否则 /docs /redoc /openapi.json 被错误转发到前端 nginx 导致 504。
This commit is contained in:
+31
-4
@@ -111,8 +111,34 @@ done
|
|||||||
log "Setting up nginx..."
|
log "Setting up nginx..."
|
||||||
|
|
||||||
setup_nginx() {
|
setup_nginx() {
|
||||||
local domain="$1" frontend_ip="$2" backend_ip="$3"
|
local domain="$1" frontend_ip="$2" backend_ip="$3" backend_only="${4:-false}"
|
||||||
cat > "/etc/nginx/conf.d/${domain}.conf" << NGINX
|
if [ "$backend_only" = "true" ]; then
|
||||||
|
cat > "/etc/nginx/conf.d/${domain}.conf" << NGINX
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name ${domain};
|
||||||
|
ssl_certificate /etc/letsencrypt/live/plfai.cn/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/plfai.cn/privkey.pem;
|
||||||
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://${backend_ip}:8000;
|
||||||
|
proxy_set_header Host \$host;
|
||||||
|
proxy_set_header X-Real-IP \$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||||
|
proxy_read_timeout 120s;
|
||||||
|
proxy_buffering off;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name ${domain};
|
||||||
|
return 301 https://\$server_name\$request_uri;
|
||||||
|
}
|
||||||
|
NGINX
|
||||||
|
else
|
||||||
|
cat > "/etc/nginx/conf.d/${domain}.conf" << NGINX
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name ${domain};
|
server_name ${domain};
|
||||||
@@ -144,6 +170,7 @@ server {
|
|||||||
return 301 https://\$server_name\$request_uri;
|
return 301 https://\$server_name\$request_uri;
|
||||||
}
|
}
|
||||||
NGINX
|
NGINX
|
||||||
|
fi
|
||||||
ok "nginx: ${domain}"
|
ok "nginx: ${domain}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,9 +180,9 @@ PROD_FE=$($KUBECTL get svc frontend -n graphrag-prod -o jsonpath='{.spec.cluster
|
|||||||
PROD_BE=$($KUBECTL get svc backend -n graphrag-prod -o jsonpath='{.spec.clusterIP}')
|
PROD_BE=$($KUBECTL get svc backend -n graphrag-prod -o jsonpath='{.spec.clusterIP}')
|
||||||
|
|
||||||
setup_nginx "test-graphrag.plfai.cn" "$TEST_FE" "$TEST_BE"
|
setup_nginx "test-graphrag.plfai.cn" "$TEST_FE" "$TEST_BE"
|
||||||
setup_nginx "test-graphrag-backend.plfai.cn" "$TEST_BE" "$TEST_BE"
|
setup_nginx "test-graphrag-backend.plfai.cn" "$TEST_BE" "$TEST_BE" true
|
||||||
setup_nginx "graphrag.plfai.cn" "$PROD_FE" "$PROD_BE"
|
setup_nginx "graphrag.plfai.cn" "$PROD_FE" "$PROD_BE"
|
||||||
setup_nginx "graphrag-backend.plfai.cn" "$PROD_BE" "$PROD_BE"
|
setup_nginx "graphrag-backend.plfai.cn" "$PROD_BE" "$PROD_BE" true
|
||||||
|
|
||||||
nginx -t >/dev/null 2>&1 && nginx -s reload >/dev/null 2>&1
|
nginx -t >/dev/null 2>&1 && nginx -s reload >/dev/null 2>&1
|
||||||
ok "nginx reloaded"
|
ok "nginx reloaded"
|
||||||
|
|||||||
Reference in New Issue
Block a user