首页 Nginx 带有URI修改的NGINX proxy_pass

带有URI修改的NGINX proxy_pass

我需要通过删除一部分url来传递一些请求代理(运行GlassFish).例如:https://xxx.net/jazz/MobileApi?id=2make_id=4 应该传递给代理:http://X.X.X.X:8080/MobileApi?id=2make_id=4 我有以下Nginx配置:upstream vito_api {

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

https://xxx.net/jazz/MobileApi?id=2&make_id=4

应该传递给代理:

http://X.X.X.X:8080/MobileApi?id=2&make_id=4

我有以下Nginx配置:

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

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

    location ~ /jazz/(?

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

"148.251.X.X" "NULL-AUTH-USER" "05/Jan/2015:15:18:40 +0100" "GET /MobileApi/ HTTP/1.0" 200 21

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

谢谢.

最佳答案
从nginx’s documentation(上下文:前缀位置)

If the proxy_pass directive is specified with a URI,then when a request is passed to the server,the part of a normalized request URI matching the location is replaced by a URI specified in the directive.

因此可以通过以下方式简化:

location /jazz/ {
    proxy_pass http://vito_api/;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/yunying/nginx/20200805/8362.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2016-2023 https://www.0532zz.com All Rights Reserved.青岛站长网

站长:xwei067#foxmail.com(请把#换成@)