鉴于nginx的以下configuration:
server { listen 80; server_name apilocal; sub_filter "apiupstream/api" "apilocal"; sub_filter_once off; location /people/ { proxy_pass http://apiupstream/api/people/; proxy_set_header Accept-Encoding ""; } }
Sub_filter没有正确回应响应的部分。 一旦我从configuration中删除proxy_pass,它工作正常。 很多有这个问题的人最终从上游服务器进行gzip压缩。 我已经validation,我的上游服务器没有启用gzip编码的响应。 但为了以防万一,我也使用上面的proxy_set_header不接受gzip。
有没有可能的东西我错过了?
您的回应可能具有其他内容types,而不是默认情况下在sub_filter_types定义的types。
参考: http : //nginx.org/r/sub_filter_types
它是否需要位于一个位置块? 另外,也许没有匹配arg上的引号?
http://wiki.nginx.org/HttpSubModule
location / { sub_filter </head> '</head><script language="javascript" src="$script"></script>'; sub_filter_once on; }