Files
gangyan/scripts/gateway-nginx.conf
liuguancen 911f7adee6 checkpoint: 重写 langchain agent 前的快照
包含未合入 main 的工作:
- CAS 单点登录接入 (CasSecurityConfig + 4 个 CAS 类)
- LoginController 改 POST + body, 修 URL 密码暴露
- chat_test.py 修 texts→text typo
- 前端外部系统侧边栏 + login API POST
- gateway-nginx.conf

下一步: 从这个分支拉 feat/langgraph-rewrite 做 langchain-chat agent 重写
回滚点: git checkout backup/pre-langgraph

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 14:58:53 +08:00

248 lines
8.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

server {
listen 3000;
server_name _;
client_max_body_size 500M;
# 前端 Vite dev server (3001)
location /metalinfo {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
# Java 后端
location /chat_web_backend {
proxy_pass http://127.0.0.1:8099;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# ===== Stirling PDF (相对路径,直接代理) =====
location /tool/pdf/ {
proxy_pass http://127.0.0.1:18080/;
proxy_set_header Host $host;
proxy_buffering off;
}
# ===== Excalidraw (/assets/ 绝对路径,需要 sub_filter) =====
location /tool/draw/ {
proxy_pass http://127.0.0.1:18081/;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html application/javascript;
sub_filter 'href="/' 'href="/tool/draw/';
sub_filter 'src="/' 'src="/tool/draw/';
sub_filter '"/assets/' '"/tool/draw/assets/';
}
# Excalidraw 资源回落
location /assets/ {
proxy_pass http://127.0.0.1:18081/assets/;
}
# ===== TrWebOCR (SPA打包无外部资源) =====
location /tool/ocr/ {
proxy_pass http://127.0.0.1:18083/;
proxy_set_header Host $host;
}
# TrWebOCR API
location /tool/ocr/api/ {
proxy_pass http://127.0.0.1:18083/api/;
proxy_set_header Host $host;
}
# ===== LibreTranslate (/static/ 绝对路径) =====
location /tool/translate/ {
proxy_pass http://127.0.0.1:18084/;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'href="/static/' 'href="/tool/translate/static/';
sub_filter 'src="/static/' 'src="/tool/translate/static/';
sub_filter 'action="/' 'action="/tool/translate/';
sub_filter 'url: "/' 'url: "/tool/translate/';
}
location /tool/translate/static/ {
proxy_pass http://127.0.0.1:18084/static/;
}
location /tool/translate/translate {
proxy_pass http://127.0.0.1:18084/translate;
proxy_set_header Host $host;
}
location /tool/translate/detect {
proxy_pass http://127.0.0.1:18084/detect;
proxy_set_header Host $host;
}
location /tool/translate/languages {
proxy_pass http://127.0.0.1:18084/languages;
proxy_set_header Host $host;
}
location /tool/translate/frontend/settings {
proxy_pass http://127.0.0.1:18084/frontend/settings;
proxy_set_header Host $host;
}
# ===== PPTist (相对路径,直接代理) =====
location /tool/ppt/ {
proxy_pass http://127.0.0.1:18085/;
proxy_set_header Host $host;
proxy_buffering off;
}
# PPTist AI 后端 (容器内nginx已配 /pptapi/ -> 18086)
location /tool/ppt/pptapi/ {
proxy_pass http://127.0.0.1:18086/;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
proxy_cache off;
}
# ===== imgcompress (/_next/ 绝对路径) =====
location /tool/imgcompress/ {
proxy_pass http://127.0.0.1:18087/;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'href="/_next/' 'href="/tool/imgcompress/_next/';
sub_filter 'src="/_next/' 'src="/tool/imgcompress/_next/';
sub_filter 'href="/favicon' 'href="/tool/imgcompress/favicon';
}
location /tool/imgcompress/_next/ {
proxy_pass http://127.0.0.1:18087/_next/;
}
location /tool/imgcompress/favicon.ico {
proxy_pass http://127.0.0.1:18087/favicon.ico;
}
location /tool/imgcompress/api/ {
proxy_pass http://127.0.0.1:18087/api/;
proxy_set_header Host $host;
proxy_buffering off;
}
# ===== Lama Cleaner (/static/ 绝对路径) =====
location /tool/lama/ {
proxy_pass http://127.0.0.1:18088/;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'src="/static/' 'src="/tool/lama/static/';
sub_filter 'href="/static/' 'href="/tool/lama/static/';
proxy_buffering off;
}
location /tool/lama/static/ {
proxy_pass http://127.0.0.1:18088/static/;
}
location /tool/lama/api/ {
proxy_pass http://127.0.0.1:18088/api/;
proxy_set_header Host $host;
proxy_buffering off;
}
location /tool/lama/inpaint {
proxy_pass http://127.0.0.1:18088/inpaint;
proxy_set_header Host $host;
proxy_buffering off;
proxy_read_timeout 300s;
}
# ===== webp2jpg (相对路径为主) =====
location /tool/webp2jpg/ {
proxy_pass http://127.0.0.1:18089/;
proxy_set_header Host $host;
}
# webp2jpg 的 cdn 资源
location /cdn/ {
proxy_pass http://127.0.0.1:18089/cdn/;
}
location /version/ {
proxy_pass http://127.0.0.1:18089/version/;
}
# ===== Overleaf (复杂路径) =====
location /tool/overleaf/ {
proxy_pass http://127.0.0.1:18090/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Accept-Encoding "";
proxy_buffering off;
sub_filter_once off;
sub_filter_types text/html application/javascript;
sub_filter 'href="/' 'href="/tool/overleaf/';
sub_filter 'src="/' 'src="/tool/overleaf/';
sub_filter 'action="/' 'action="/tool/overleaf/';
sub_filter '"/login' '"/tool/overleaf/login';
sub_filter '"/register' '"/tool/overleaf/register';
sub_filter '"/project' '"/tool/overleaf/project';
}
location /tool/overleaf/stylesheets/ {
proxy_pass http://127.0.0.1:18090/stylesheets/;
}
location /tool/overleaf/js/ {
proxy_pass http://127.0.0.1:18090/js/;
}
location /tool/overleaf/img/ {
proxy_pass http://127.0.0.1:18090/img/;
}
location /tool/overleaf/fonts/ {
proxy_pass http://127.0.0.1:18090/fonts/;
}
location /tool/overleaf/login {
proxy_pass http://127.0.0.1:18090/login;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'href="/' 'href="/tool/overleaf/';
sub_filter 'src="/' 'src="/tool/overleaf/';
sub_filter 'action="/' 'action="/tool/overleaf/';
}
location /tool/overleaf/register {
proxy_pass http://127.0.0.1:18090/register;
proxy_set_header Host $host;
}
location /tool/overleaf/project {
proxy_pass http://127.0.0.1:18090/project;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'href="/' 'href="/tool/overleaf/';
sub_filter 'src="/' 'src="/tool/overleaf/';
}
location /tool/overleaf/socket.io/ {
proxy_pass http://127.0.0.1:18090/socket.io/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /tool/overleaf/launchpad {
proxy_pass http://127.0.0.1:18090/launchpad;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types text/html;
sub_filter 'href="/' 'href="/tool/overleaf/';
sub_filter 'src="/' 'src="/tool/overleaf/';
sub_filter 'action="/' 'action="/tool/overleaf/';
}
# ===== LaTeX 公式编辑器 (CDN外链无问题) =====
location /tool/latex/ {
proxy_pass http://127.0.0.1:18091/;
proxy_set_header Host $host;
}
# 默认跳转前端
location / {
return 302 /metalinfo;
}
}