Я установил ведро Amazon S3 для своих статических активов и настроил CloudFront, чтобы указать на него. У меня есть приложение Rails 4 на Heroku.S3 обслуживает активы gzip. CloudFront этого не делает. Зачем?
Когда я установил config.action_controller.asset_host = "https://" + Figaro.env.FOG_DIRECTORY + ".s3.amazonaws.com"
, я получаю активы с gzip.
Когда я установил config.action_controller.asset_host = "http://" + Figaro.env.CLOUDFRONT_DIRECTORY + ".cloudfront.net"
, я не получаю gzip-активы. Почему нет?
У меня аналогичная проблема: наши активы на S3 с помощью CloudFront. Если я попрошу актива (в curl), используя только URL-адрес, я получаю обновленную версию. Если я передаю - сжатый, я получаю его старую версию: это как если бы сжатая версия (предположительно созданная s3 как cloudfront не делает никакого gzipping) кэшируется где-то, и когда я передаю - сжатый, я получаю это , а не новый файл. С этим вы столкнулись? –
@MaxWilliams Прошло несколько месяцев, но нет, я не помню, чтобы встретить это. В конце концов я заменил все свои активы версиями gzipped с тем же именем - вместо «application.css» и «application.css.gz», у меня есть «application.css» (переименованный gzip-файл). – smockle
Моя проблема оказалась конфигурацией S3: она была настроена на «Custom Caching options», которая по причинам, которые меня избегают в данный момент, означала, что она не обслуживала нулевые ресурсы должным образом. Спасибо за ответ! –