fix(nginx): fix proxy_pass URI rewriting for /api/v2/ts/ location

nginx does not automatically handle URI appending when variables are used
in proxy_pass. Replace variable-based proxy_pass with hardcoded IP + rewrite
rules to correctly map /api/v2/ts/* → /api/v1/ts/* on the Rust htyts backend.

Symptom: all requests to /api/v2/ts/ returned 404 because the variable-based
proxy_pass sent every request to /api/v1/ts/ (root) regardless of path.
This commit is contained in:
2026-04-26 20:48:49 +08:00
parent 7d47a64c11
commit 23ce2eff19
2 changed files with 13 additions and 21 deletions
+5 -3
View File
@@ -126,8 +126,8 @@ server {
content_by_lua_file $resty_loc/nginx/scripts/test.lua;
}
location /api/v1/clazz/ {
proxy_pass http://127.0.0.1:3002/api/v1/clazz/;
location /api/v1/kc/ {
proxy_pass http://127.0.0.1:3002/api/v1/kc/;
}
location /api/v1/ws/ {
proxy_pass http://127.0.0.1:3001/api/v1/ws/;
@@ -137,7 +137,9 @@ server {
}
location /api/v2/ts/ {
proxy_pass http://$huiwing_htyts_rust/api/v1/ts/;
rewrite ^/api/v2/ts/$ /api/v1/ts break;
rewrite ^/api/v2/ts/(.+)$ /api/v1/ts/$1 break;
proxy_pass http://127.0.0.1:3003;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;