99 lines
3.3 KiB
Plaintext
99 lines
3.3 KiB
Plaintext
|
|
# 🔌 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;
|
|||
|
|
}
|