如果你想在 Nginx 中创建一个反向代理,在代理请求时同时移除匹配的路径,可以使用 proxy_pass
指令和正则表达式来实现。
以下是一个示例配置,假设你想将 http://example.com/app/
下的所有请求代理到 http://backend:8080/
,但是从代理请求中移除 /app/
:
location /app/ { rewrite ^/app/(.*)/1 break; proxy_pass http://backend:8080/; }
这个配置将使用 `rewrite` 指令将匹配的路径替换为 `/`,然后使用 `proxy_pass` 指令代理请求到 `http://backend:8080/`。
效果是当用户访问 http://example.com/app/foo,Nginx 将向后端服务器发送一个请求 http://backend:8080/foo。
注意,使用正则表达式的 `rewrite` 指令必须用 `^` 开头和 `$` 结尾表示字符串的开始和结束。`break` 参数告诉 Nginx 结束处理当前请求,并使用新的 URI 重新执 行 location 匹配新的 URI。
希望对你有帮助!
标签:http,请求,app,Nginx,8080,backend From: https://www.cnblogs.com/JosenEarth/p/17406788.html