小编And*_*rey的帖子

带有 URI 修改的 NGINX proxy_pass

我需要通过删除一部分 url 将一些请求传递给代理(运行 GlassFish)。例如:

https://xxx.net/jazz/MobileApi?id=2&make_id=4
Run Code Online (Sandbox Code Playgroud)

应该传递给代理:

http://X.X.X.X:8080/MobileApi?id=2&make_id=4
Run Code Online (Sandbox Code Playgroud)

我有以下 Nginx 配置:

upstream vito_api {
    server 178.63.X.X:8080;
}

server {
    listen 80;
    listen 443 ssl;
    ....

    location ~ /jazz/(?<section>.*) {
       proxy_pass http://vito_api/$section/;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,不幸的是,请求不带参数传递。因此,在 GlassFish 访问日志中,我只能看到:

"148.251.X.X" "NULL-AUTH-USER" "05/Jan/2015:15:18:40 +0100" "GET /MobileApi/ HTTP/1.0" 200 21
Run Code Online (Sandbox Code Playgroud)

我做错了什么?如何传递URL参数?

谢谢你。

nginx proxypass

6
推荐指数
2
解决办法
4万
查看次数

标签 统计

nginx ×1

proxypass ×1