nginx反向代理:如何将“accept-encoding”头传递给后端服务器
|
在IIS 8.5前面使用nginx. IIS 8.5已配置压缩并且运行良好. 但是当我们通过nginx(下面的配置)点击它时,gzip会丢失(从Web浏览器的角度来看). 第1部分:解决方案尝试#1是在nginx上启用gzip,从浏览器的角度来看gzip,但现在(我们担心)有(a)强加双gzip开销(在iis中使用gzip,在nginx上解压缩,重新gzip)在nginx上);或者,(b)gzip现在在nginx上,这是不理想的(因为我们可以更好地控制iis,并且iis可以更好地决定什么是静态的,什么是动态的,因此缓存更好等等).解#1的配置可以在这里看到:nginx: gzip on server is lost during proxy
第2部分:所以我们真正想要的是接受编码头传递,从浏览器到nginx到iis,让iis做所有的压缩,并通过nginx传递gzip响应,而不会在nginx上发生任何gzip开销.我们的运行配置如下. 问题:我们如何在nginx 1.7.9中实现第2部分? 运行反向代理配置,它会删除所有gzip(例如它似乎剥离了accept-encoding标头):
最佳答案
肯定主题入门者已经找到答案,但我会为了其他观众发布它们.
第一个解决方案(在nginx中启用gzip)不会导致重复压缩. Nginx非常聪明,可以看到上游已经进行了压缩而没有尝试压缩两次. 第2部分解决方案仅在代理配置中错过了一位,即:
添加此位后,一切都将按预期工作(nginx将从上游提供gzip压缩内容) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- node.js-如何为Heroku Node.js Web应用程序配置Nginx
- nginx的全局auth_request
- ubuntu – 阻止已删除文件的多个请求
- 如何在Nginx中将每个https请求重定向到http?
- 根据nginx中的mime类型有条件地添加expires头
- ruby-on-rails – 如果空闲时Rails停止响应
- Django的HttpResponseRedirect是http而不是https
- 如何在将请求传递给上游服务器之前删除Nginx中的客户端标头
- python – 如何在执行模式下使用SELinux运行Flask Nginx uW
- 将git存储库添加到Docker映像(工作流最佳实践)
