在一个非CDN的域名下有一个页面,需要请求CDN域名下的资源。所以在CDN的那台源站的Nginx上设置了
add_header 'Access-Control-Allow-Headers' 'X-Requested-With'
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS
add_header 'Access-Control-Allow-Origin' 'xx.com'
该页面同时也会请求一个.do接口,而这个接口部署在另外一个域名下,然后使用了 proxy_pass http://xx.com;
结果就悲剧了,报上面的400 bad request,request header or cookie too large,网上的解法是在
client_header_buffer_size 16k;
large_client_header_buffers 4 64k;
最后的处理方法是将proxy_pass IP:port;
具体原因暂时就没有深究了,暂时是这么处理的。