node.js – 无法使用gzip为nginx中的分块传输编码关闭从Node后端提供的静态资产
我们有一个Node / express Web应用程序,除了正常内容之外,还通过express.static()提供静态资产.前面有一个nginx服务器,当前配置为gzip这些静态资产请求,如果用户代理为它. 但是,虽然nginx正在按预期执行gzip,但是它会从原点删除Content-Length标头,并设置Transfer-Encoding:chunked.这打破了我们CDN的缓存. 以下是典型静态资产请求(本例中为JS文件),节点后端和nginx的响应: 请求:
节点的响应标头:
响应来自nginx的标题:
我们当前的静态资产位置的nginx配置如下所示: nginx配置:
从上面的配置中可以看出,即使我们根据nginx文档显式设置chunked_transfer_encoding为这些路径,启用了proxy_buffering,并且具有足够大的proxy_buffers大小,响应仍然被分块. 我们在这里失踪了什么? – 编辑1:版本信息 –
– 编辑2:nginx gzip config–
你是对的,让我详细说明.
标头是第一个需要发送的东西.但是,由于您正在使用流式压缩,因此最终大小不确定.您只知道未压缩资产的大小,并且发送内容长度太大也不正确. 因此,有两种选择: >转移编码分块 目前,你正在经历第一种情况,听起来你真的需要第二种情况.得到第二个案例的最简单方法是打开gzip_static,因为@kodeninja在评论中说. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails-如何配置Nginx代理到Rails应用程序?这样我就
- ruby-on-rails-Nginx与乘客的重写规则
- java-反向代理后面的axis2 webapp产生错误的位置
- nginx – 来自POST的大量流量123.249.24.233/POST_ip_port.
- apache-2.2 – Varnish/Nginx/Apache
- python – 如何在执行模式下使用SELinux运行Flask Nginx uW
- 从Nginx代理请求到HHVM时,自定义标头或查询字符串?
- 使用NGINX的WAF owasp modsecurity crs中“尚不支持SecColl
- 设置Elastic Load balancer后,我的https不再起作用了. Ngin
- 从源安装nginx-1.7.8时,Chef :: Exceptions :: ChecksumMis
- node.js-WebSocket与“ ws://…/socket.io/”的
- apache-2.2 – 在NginX后面的Apache mod_dav安装
- python – Django可以单独运行Gunicorn(没有Apac
- django – 未创建uwsgi套接字文件
- ssl – 在nginx反向代理后面的neo4j webinterfac
- nginx – http基准测试?
- 使用Nginx作为多个服务器的反向代理
- ssl-Kubernetes:Nginx入口注释- nginx.ingress.
- php-从nginx将参数传递给auth_request模块
- apache-2.2 – 使用Nginx作为apache的反向代理或