guanghulab/backend-integration/nginx-api-proxy.conf

99 lines
3.3 KiB
Plaintext
Raw Permalink Normal View History

# 🔌 AGE OS API 代理层 — Nginx 配置参考
#
# 将此配置添加到 guanghulab.com 的 Nginx server block 中,
# 使前端可以通过 /api/* 路径访问后端代理。
#
# 前端GitHub Pages→ Nginx → API 代理Node.js :3721→ 模型 API
# Persona Studio API → persona-studio 后端端口 3002含 CORS 跨域支持)
location /api/ps/ {
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
add_header Access-Control-Allow-Headers "Content-Type, Authorization" always;
if ($request_method = OPTIONS) {
return 204;
}
proxy_pass http://127.0.0.1:3002/api/ps/;
proxy_http_version 1.1;
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 90s;
}
# Webhook 路由 → 后端服务端口 3000飞书事件回调、广播推送等
location /webhook/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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 Content-Type $content_type;
}
# API 代理转发(通用 AI 聊天)
location /api/ {
proxy_pass http://127.0.0.1:3721;
proxy_http_version 1.1;
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;
# SSE 流式响应必需
proxy_set_header Connection '';
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding on;
# 长连接超时(与 Node.js api-proxy 的 60s 连接超时对齐,流式响应可更长)
proxy_read_timeout 90s;
proxy_send_timeout 60s;
}
# Persona Studio WebSocket → 预览进度推送端口 3002
location /ws/preview {
proxy_pass http://127.0.0.1:3002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
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_read_timeout 86400;
}
# ═══ AI写网文平台 · 端口 3100 ═══
# AI写网文平台前端
location /writing/ {
alias /var/www/guanghulab/writing-platform/frontend/dist/;
try_files $uri $uri/ /writing/index.html;
}
# AI写网文平台后端 API
location /api/writing/ {
proxy_pass http://127.0.0.1:3100/api/writing/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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 90s;
}
# AI伙伴 WebSocket 对话
location /writing-ai/ {
proxy_pass http://127.0.0.1:3100/writing-ai/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_read_timeout 86400;
}