首页 新闻 会员 周边

Nginx反向代理如何在proxy_pass中插入变量

0
[待解决问题]

现有个测试Api

Get:http://localhost:8080/{name}/hello

Response:“Hello,{name}!”

 

现在需要用Nginx反向代理这个API

其中name这个参数,会出现在上游请求的Header中

 

转发规则:

listen 80;
location /api/ {
        proxy_pass http://localhost:8080/$http_name/;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

 

请求http://192.168.1.1/api/hello

其中请求头Name:Tom

返回404

 

通过Api日志分析,所以是404,是因为nginx没有把/api/后面的请求路径拼接到proxy_pass后面。

请问为什么如果proxy_pass不带变量就可以把匹配后的路径拼接,但是带变量就不行呢?还是我的操作有问题?

 

 

写代码的相声演员的主页 写代码的相声演员 | 小虾三级 | 园豆:517
提问于:2020-04-16 18:13
< >
分享
所有回答(1)
0

把/api/换成/api试试

Micheal_L | 园豆:173 (初学一级) | 2020-05-02 08:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册