- 当前位置:
- 首页
- Nginx URL重写(rewrite)配置
Nginx URL重写(rewrite)配置
*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证
已完成
问题详情:分类: Java-nginx
前端ajax请求是: http://127.0.0.1:8899/aa/bb/cc.go?param=dd (其中aa,bb,cc,dd都是可变参数, 但是后缀.go是固定的)
通过nginx代理到: http://ee.test.com/projectName/aa/bb/cc.go?param=dd
在这里我用的是正则匹配:
![](https://www.jf3q.com/upload_imgs/jf3q/jf_uinfo_matterdesc/jf_uinfo_matterdesc2fca4d9cdb464fb2856e.jpg)
但是会报错, 说是正则表达式的时候proxy_pass指令中不能有URI, 也就是说proxy_pass中只能写http://ee.test.com, 不能写http://ee.test.com/projectName ,
那这个projectName怎么加进去呢, 我想在location中加一个rewrite来重写URL, 但是不知道怎么写.
通过nginx代理到: http://ee.test.com/projectName/aa/bb/cc.go?param=dd
在这里我用的是正则匹配:
![](https://www.jf3q.com/upload_imgs/jf3q/jf_uinfo_matterdesc/jf_uinfo_matterdesc2fca4d9cdb464fb2856e.jpg)
但是会报错, 说是正则表达式的时候proxy_pass指令中不能有URI, 也就是说proxy_pass中只能写http://ee.test.com, 不能写http://ee.test.com/projectName ,
那这个projectName怎么加进去呢, 我想在location中加一个rewrite来重写URL, 但是不知道怎么写.
*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证。你觉得当前的价格如何呢,奉上您珍贵的一票吧
虚高0人次 适中0人次 偏低0人次
分享海报会更快解决你的问题哦!分享海报
参考答案:
通过location正则匹配进行代理的时候,proxy_pass指令中不能有URI, 也就是说proxy_pass中只能写http://ee.test.com, 不能写http://ee.test.com/projectName。
解决方法为在代理之前先对url路径进行rewrite,在host后加上contextPath,最终解决方案如下:
![](https://www.jf3q.com/upload_imgs/jf3q/jf_uinfo_Answerdesc/jf_uinfo_Answerdesce125e7b7224c48fe9275.jpg)
同时可以思考以下案例为什么翻车:
![](https://www.jf3q.com/upload_imgs/jf3q/jf_uinfo_Answerdesc/jf_uinfo_Answerdesc23fc939878d0463b8973.jpg)
此处可发布评论
最新博客 更多
第一时间了解动态
![](/web/static/img/jiedanqun2.png)
关注我们
![](/web/static/img/gzh.png)