У меня есть приложение Rails 3.2, которое я развертываю в стеке Heroku Cedar. Это означает, что само приложение отвечает за обслуживание своих статических ресурсов. Я бы хотел, чтобы эти активы были заархивированы gzip, поэтому я вставил Rack::Deflater
в свой стек промежуточного программного обеспечения в production.rb
:
middleware.insert_after('Rack::Cache', Rack::Deflater)
...и curl
говорит мне, что это работает так, как рекламируется.
Однако, поскольку Heroku приложит все усилия, чтобы запустить rake assets:precompile
, создав кучу предварительно сжатых ресурсов, я бы очень хотел использовать их (вместо того, чтобы позволить Rack::Deflater
снова выполнять всю работу). Я видел рецепты их обслуживания с помощью nginx (бесполезно на Heroku) и CDN (пока не хочу использовать CDN), но я не видел ничего, что могло бы работать автономно. Для этого я собрал промежуточное ПО, но мне было интересно, лучший ли это способ идти об этом?