【发布时间】:2015-09-16 22:41:06
【问题描述】:
我目前正在努力通过 Carrierwave、Carrierwave-aws 和 Figaro 让 S3 上传工作。
我已经设置好了,但它一直在返回
'您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。'
config/initializers/carrierwave.rb(根据carrierwave-aws设置)
CarrierWave.configure do |config|
config.storage = :aws
config.aws_bucket = ENV.fetch('S3_BUCKET_NAME')
config.aws_acl = 'public-read'
# Optionally define an asset host for configurations that are fronted by a
# content host, such as CloudFront.
config.asset_host = 'http://example.com'
# The maximum period for authenticated_urls is only 7 days.
config.aws_authenticated_url_expiration = 60 * 60 * 24 * 7
# Set custom options such as cache control to leverage browser caching
config.aws_attributes = {
expires: 1.week.from_now.httpdate,
cache_control: 'max-age=604800'
}
config.aws_credentials = {
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
region: ENV.fetch('AWS_REGION') # Required
}
end
Figaro application.yml
AWS_ACCESS_KEY_ID: "RANDOMNUMBERSKEY"
AWS_SECRET_ACCESS_KEY: "RANDOMNUMBERSKEY"
S3_BUCKET_NAME: "random-bucket-123"
AWS_REGION: "us-west-2"
在 AWS 控制台上,我的存储桶位于
地区:美国标准
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails amazon-s3 carrierwave