【发布时间】:2016-12-09 23:37:28
【问题描述】:
您好,我目前正在使用 Rails 和 Heroku 以及 GoDaddy 构建一个自定义域名的站点。
我正在将 Carrierwave 与 Fog、Amazon S3 一起使用,并设置了一个以我的 Heroku 域名作为 Origin Domain 的云端。目前,该站点加载图像的速度非常慢,这就是我设置云端的原因,但我的carrierwave 的配置文件似乎没有将网址更改为云端对应的网址。这是我的载波配置文件。我希望用户能够通过 Carrierwave 上传图片,然后将这些图片通过我的云端服务返回。
CarrierWave.configure do |config|
config.fog_provider = 'fog/aws' # required
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: 'acesskey', # required
aws_secret_access_key: 'secretkey', # required
region: 'us-east-1', # optional, defaults to 'us-east-1'
}
config.fog_directory = 'directory' # required
# config.fog_public = false # optional, defaults to true
config.asset_host = 'randomjunk.cloudfront.net'
config.fog_public = false
config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } # optional, defaults to {}
end
只要 config.fog_public 为 false,它就可以工作,但是当我将其更改为 config.fog_public = true 时,url 现在是正确的,但找不到图像。这与我的配置设置有关还是我使用 Heroku 错误地设置了我的云端?
【问题讨论】:
标签: ruby heroku amazon-s3 carrierwave fog