我有一個在自定義域名的heroku上的應用程序。 www.mydomain.com擁有myapp.herokuapp.com的cname記錄。 mydomain.com有一個301重定向到www.mydomain.com。我在Heroku Ceder堆棧上。我使用heroku_rails_deflate寶石啓用了gzip壓縮。對於使用www.mydomain.com的請求,服務器不會響應gzip資產。heroku上gzip壓縮資產不適用於自定義域名
*編輯* * * 當我最初發布我的301重定向而不能正常工作。現在,當我蜷縮mydomain.com時,我得到了301響應。
curl -I -H 'Accept-Encoding: gzip' http://myapp.herokuapp.com/assets/application-7cbaf74d14cc5a5ab54262a43e4xxxxx.css
和
curl -I -H 'Accept-Encoding: gzip' http://mydomain.com/assets/application-7cbaf74d14cc5a5ab54262a43e4xxxxx.css
兩個結果:
Age: 1390
Cache-Control: public, max-age=2592000, no-transform
Content-Encoding: gzip
Content-length: 19377
然而
curl -I -H 'Accept-Encoding: gzip' http://www.mydomain.com/assets/application-7cbaf74d14cc5a5ab54262a43e4xxxxx.css
結果:
Age: 7378
Cache-Control: public, max-age=2592000
Content-length: 119016
此外,機架緩存似乎爲每個url維護一個單獨的緩存。日誌顯示:
cache: [HEAD /assets/application-7cbaf74d14cc5a5ab54262a43e4xxxxx.css] miss, store
一個頂點域請求後,它已經服役使用myapp.herokuapp.com
編輯同一資產全新的要求: 這裏是我的config.ru:
require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
! ** 另外加法 *** ! nslookup使用opendns nameservers表明,兩個不同的網址使用兩個不同的IP地址,即使一個是另一個的cname(我不是DNS專家) ! *!
有沒有辦法讓heroku對待不同的網址一樣?如果沒有,是否有可能讓gzip爲所有人工作?提前感謝您提供任何提示或解決方案。
什麼是你的config.ru樣子? – CDub
@CDub config.ru是默認的,我把它添加到 – laertiades