我想将所有请求转发到 https://myfrontend/(anything)/front/ 到我的后端服务器 http://mybackend:8081 ,现在我像下面这样设置我的 nginx:
location ~ ^/(.*)/front/ {
proxy_pass http://backend:8081;
}
但是,这会将 (.*) 部分传递到后端服务器的末尾,如下所示:
如果我尝试访问:https://myfrontend/123/front/,它将转发到http://backend:8081/123/front,而我想要的只是将其转发到http://backend:8081
我尝试过重写并且它可以工作,但它会是一个重定向,而我想在浏览器地址选项卡中的 URL 中保留“123”。
我也尝试过下面的配置:
location ~ ^/(.*)/front/ {
proxy_pass http://backend:8081/; #with the trailing / at the end
}
但如果在定位中使用了正则表达式,则不允许这样做。我尝试了以下静态定位配置,效果很好:
location /123/front/ {
proxy_pass http://backend:8081/;
}
你有什么好主意吗?
谢谢