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