使用Rack :: Deflator添加GZIP会导致Heroku上的“客户端请求中断”错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Rack :: Deflator添加GZIP会导致Heroku上的“客户端请求中断”错误相关的知识,希望对你有一定的参考价值。

使用Rack :: Deflator添加GZIP会在Heroku上导致大量“客户端请求中断”错误(H27)(大约占所有请求的1%,没有明显的模式)。

知道是什么导致这个吗?以及如何解决它?

> rails middleware

use Rack::Cors
use ActionDispatch::SSL
use RackReverseProxy::Middleware
use Rack::Sendfile
use ActionDispatch::Static
use Rack::Deflater
use ActionDispatch::Executor
use ActiveSupport::Cache::Strategy::LocalCache::Middleware
use Rack::Timeout
...

Rack:Deflator gzips只有html。其余的由CDN提供。

答案

你也可以使用heroku deflater gem。这是针对heroku平台的。

gem 'heroku-deflater', :group => :production

以上是关于使用Rack :: Deflator添加GZIP会导致Heroku上的“客户端请求中断”错误的主要内容,如果未能解决你的问题,请参考以下文章

RuntimeError:在 Rack 中的迭代期间无法将新密钥添加到哈希中

添加 GZIP 编码导致 MalformedJsonException

Rails 6,React,Rack-Cors [重复]

使用 curl 解压 gzip 数据

gitlab的rack-attack机制和如何设置白名单的记录

Heroku cedar 堆栈中 rack-cache 与 Varnish 的缺点?