django无法在heroku上提供gzip服务

时间:2013-05-28 13:08:54

标签: django heroku amazon-s3 gzip django-compressor

我启用了django.middleware.gzip.GZipMiddleware。 它提供模板gzipping。

django-compressor设置为COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage'

当地一切都很好。静态css和js资产被压缩并拆分成一个文件和gzip,html响应是gzip压缩页面,但部署在heroku上,它不起作用。 django-compressor甚至不在其文件夹中创建.gz个版本。

今天,我可以摆脱压缩器并对css和js进行预构建gzipping。但这似乎总体上很奇怪。至少满足requirements中间件的要求。

UPD

好的,我解决了部分问题。由于某种原因,我的代理未配置为处理压缩内容。所以GZipMiddleware可以正常工作。 django-compressor还有待测试。

UPD2

毕竟一切正常。压缩机的问题是(在部署到亚马逊s3之后),因为我可以理解settings.py

AWS_IS_GZIPPED = True的缺席

1 个答案:

答案 0 :(得分:0)

看看这里:https://mike.tig.as/blog/2012/02/13/deploying-django-on-heroku/ - 具体来说:

  

Cedar'herokuapp.com'HTTP堆栈直接将请求连接到   后端的灵活性(想想WebSockets等),但没有   提供gzip或缓冲请求。 (事实上​​,Heroku Django   docs提到使用gunicorn + gevent,但实际上并没有配置   相关例子中的gevent。)