Status Text: BADRESPONSE: Unexpected token

Nginx反向代理IIS时出现 Request Failure

具体如下图所示:

Status Text: BADRESPONSE: Unexpected token

一、说明,在用nginx代理访问后台IIS服务器报错,直接访问IIS服务器时没问题,但是用nginx访问时就有问题

nginx 开启debug日志查看,有如下提示
client sent invalid header line: "X-Ext.Net: delta=true" while reading client request headers

二、查了下网络上的相关信息,有以下三点:
1、默认的情况下nginx引用header变量时不能使用带下划线的变量。要解决这样的问题只能单独配置underscores_in_headers on;
2、默认的情况下会忽略掉带下划线的变量。要解决这个需要配置ignore_invalidheaders off;
3、nginx会把横岗“-”,自动转换成下划线“
”。

三、知道问题之后我们可以在http配置中加入
underscores_in_headers on;
ignore_invalid_headers off;
重启加载nginx,问题得到解决。

转载于:https://blog.51cto.com/darren88/2404940