- 8.如何避免这个问题?
正常情况下,uri的转义操作在浏览器端已经完成,所以nginx侧的$request_uri肯定是encode后的正确状态,这一点在文章开头中Kibana的access日志中可以看到 。我们可以利用这个参数,对location进行特殊处理修改前的配置如下
location / {proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://10.89.0.8/$1;}修改后的配置如下location / {proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;if ($request_uri ~* ^/(.*)$) {proxy_pass http://10.89.0.8/$1;}}
文章插图
写在后面
nginx内置变量很多,配合location rewrite正则可以满足多种转发场景 。
有其他解决思路的朋友可以留言哟~ 。
推荐阅读
- WordPress环境配置
- 残疾人上飞机 残疾人乘坐飞机怎样申请特殊服务
- 怎么帮婴儿按摩
- 全网最全面、全详细的编码、解码知识
- nginx单节点部署
- 解码·缩小数字鸿沟 老年人,如何更好融入智能生活
- windows 10 下docker布置nginx+php环境,用宿主WEB目录负载均衡
- 给你的Nginx加个防火墙
- 100%负压VS特殊风道哪家强?ZEROZONE EOS机箱测试
- 拥有特殊能力的动物 能力超强的动物
