gpt4 book ai didi

ruby-on-rails - 在 Rails config.action_controller.asset_host 上使用多个子域

转载 作者:行者123 更新时间:2023-12-04 06:08:58 24 4
gpt4 key购买 nike

我已经使用 Cloudfront 为我的 Rails 3 应用设置了 CDN。我创建了 4 个 CNAME 重定向(cdn1.mywebsite.com、cdn2.mywebasite.com 等),因此我可以并行化静态 Assets 下载。

是否可以将 rails 配置为使用多个 Assets 主机?

我试过了

config.action_controller.asset_host = ["http://cdn1.mywebasite.com", "http://cdn2.mywebasite.com", "http://cdn3.mywebasite.com", "http://cdn4.mywebasite.com"]

但是没有用。

最佳答案

参见 http://api.rubyonrails.org/classes/ActionView/Helpers/AssetUrlHelper.html

Browsers typically open at most two simultaneous connections to a single host, which means your assets often have to wait for other assets to finish downloading. You can alleviate this by using a %d wildcard in the asset_host. For example, “assets%d.example.com”. If that wildcard is present Rails distributes asset requests among the corresponding four hosts “assets0.example.com”, …, “assets3.example.com”. With this trick browsers will open eight simultaneous connections rather than two.

您需要稍微调整您的 DNS 以从 0 开始计数,然后执行以下操作:

config.action_controller.asset_host = 'http://cdn%d.mywebasite.com'

关于ruby-on-rails - 在 Rails config.action_controller.asset_host 上使用多个子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22260281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com