一次生产上由于Nginx引起的HTTP请求Header参数丢失的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次生产上由于Nginx引起的HTTP请求Header参数丢失的问题相关的知识,希望对你有一定的参考价值。
参考技术A在一个第三方SSO的对接环境中,服务端需要拿到当前前端的URL进行重定向,此时出于安全方面的考量,研发组决定把重定向的URL放到HTTP请求中的 Header 进行传参,参数的名称为 redirect_url ,在测试环境跑的时候非常通畅,但是生产环境获取这个 redirect_url 进行 URLEncoder.encode() 操作的时候,出现了 NPE 异常.
在开发环境的时候,由于前端使用node.js进行代理端口,所以并没有什么问题,但是由于生产环境使用的是 Nginx 进行静态资源压缩,所以html页面发起的HTTP请求都是被nginx所转发的,经过查阅资料发现,Nginx配置的 underscores_in_headers 项自动过滤了Header头部的下划线的参数。
以上是关于一次生产上由于Nginx引起的HTTP请求Header参数丢失的问题的主要内容,如果未能解决你的问题,请参考以下文章