From bb8bfff16c7e2db271f8bd110196f2adc6e71900 Mon Sep 17 00:00:00 2001 From: yidl Date: Thu, 31 Jul 2025 23:25:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=84=E4=BB=B6=E4=BB=A3=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nginx.conf.gateway | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/nginx.conf.gateway b/nginx.conf.gateway index c163253..ff57fb8 100644 --- a/nginx.conf.gateway +++ b/nginx.conf.gateway @@ -125,18 +125,18 @@ http { proxy_set_header Host $host; } - location ~*/upload/ { - proxy_pass https://sys_api; - proxy_ssl_server_name on; - proxy_ssl_verify off; - proxy_set_header Authorization $http_authorization; - } + location ~* ^/Upload/(.*)$ { + # rewrite 指令将请求的路径重写为 / 加 \$1 的内容,即移除了 /Upload/ 或 /upload/ + # break 阻止 Nginx 进一步处理 rewrite 规则和新的 location 匹配 + rewrite ^/Upload/(.*)$ /\$1 break; - location /temporary_upload/ { - proxy_pass https://sys_api/temporary_upload/; + # 代理到后端,此时的请求路径已经是重写后的(即没有 /Upload/ 前缀的) + proxy_pass https://sys_api/upload/; # 注意:如果 sys_api 后端期望收到 /upload/ 前缀,这里加上。如果后端只期望收到 /path/to/file.jpg,这里就写 https://sys_api; + proxy_ssl_server_name on; + proxy_ssl_session_reuse off; proxy_ssl_verify off; - proxy_set_header Authorization $http_authorization; + proxy_set_header Authorization $http_authorization; # 传递 Authorization 头 } } @@ -209,18 +209,18 @@ http { proxy_set_header Authorization $http_authorization; } - location ~*/upload/ { - proxy_pass https://sys_api; - proxy_ssl_server_name on; - proxy_ssl_verify off; - proxy_set_header Authorization $http_authorization; - } + location ~* ^/Upload/(.*)$ { + # rewrite 指令将请求的路径重写为 / 加 \$1 的内容,即移除了 /Upload/ 或 /upload/ + # break 阻止 Nginx 进一步处理 rewrite 规则和新的 location 匹配 + rewrite ^/Upload/(.*)$ /\$1 break; - location /temporary_upload/ { - proxy_pass https://sys_api/upload/; + # 代理到后端,此时的请求路径已经是重写后的(即没有 /Upload/ 前缀的) + proxy_pass https://sys_api/upload/; # 注意:如果 sys_api 后端期望收到 /upload/ 前缀,这里加上。如果后端只期望收到 /path/to/file.jpg,这里就写 https://sys_api; + proxy_ssl_server_name on; + proxy_ssl_session_reuse off; proxy_ssl_verify off; - proxy_set_header Authorization $http_authorization; + proxy_set_header Authorization $http_authorization; # 传递 Authorization 头 } } }