【问题标题】:Rails Excon::Errors::Forbidden - Expected(200) <=> Actual(403 Forbidden)Rails Excon::Errors::Forbidden - 预期(200) <=> 实际(403 Forbidden)
【发布时间】:2016-03-21 19:16:20
【问题描述】:

我在我的本地环境中,我正在使用carrierwave和fog两个上传图像和文件在不同的上传器中。

我在本地电脑上,我将使用 DigitalOcean 而不是 Heroku

在我的附件上传器中,我只有:

class AttachmentUploader < CarrierWave::Uploader::Base

 storage :fog

   def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
   end
end

宝石文件:

gem 'carrierwave', '~> 0.10.0'
gem 'mini_magick', '~> 4.3.6'
gem 'fog', '~> 1.36.0'

配置/初始化器/carrierwave.rb

CarrierWave.configure do |config|
 config.fog_credentials = {
    :provider => 'AWS',
    :aws_access_key_id => ENV['S3_ACCESS_KEY'],
    :aws_secret_access_key => ENV['S3_SECRET_KEY']
 }
 config.fog_directory = ENV['S3_BUCKET']
end

application.yml(使用 figaro 创建)

development:
DEV_DB_NAME: archgard_cms_development
DEV_DB_USERNAME: username
DEV_DB_PASSWORD: password
S3_ACCESS_KEY: AKIAJXAY2SZYZYYOH7HA
S3_SECRET_KEY: QAZTM/qYjl/bimDLSiWD7DqvbcyaW38yGTY+4lOSjtEav
S3_BUCKET: various-bucket

test:
TEST_DB_NAME: archgard_cms_test
TEST_DB_USERNAME: username
TEST_DB_PASSWORD: password

production:
PRO_DB_NAME: archgard_cms_production
PRO_DB_USERNAME: username
PRO_DB_PASSWORD: password
PRO_DEVISE_SECRET_KEY: 37f2b350d33b55c6a3b428558da7a48d2f24462d88d90b9b6275ceadcb92ec15ae56a50a0dda06dfa6b564dc489f26a30dd3bdjskjskjsdunnnieujeje
S3_ACCESS_KEY: AKIAJXAY2SZYZYYOH7HA
S3_SECRET_KEY: QAZTM/qYjl/bimDLSiWD7DqvbcyaW38yGTY+4lOSjtEav
S3_BUCKET: various-bucket

Amazon S3 存储桶政策:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Action": [
            "s3:ListAllMyBuckets"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::*"
    },
    {
        "Action": "s3:*",
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::various-bucket"
    },
    {
        "Action": "s3:*",
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::various-bucket/*"
    }
]
}

我在 Amazon 中创建了名为 carlos21 的用户,并添加了 AmazonS3FullAccess 和 AdministratorAccess。创建用户后,我创建了存储桶。

我什至尝试使用亚马逊的超级管理员凭据。

【问题讨论】:

  • 你能分享错误的回溯吗?像这样的 S3 错误的正文通常包含关于哪些特别是不允许访问的信息更丰富的消息。谢谢!

标签: ruby-on-rails amazon-s3 carrierwave fog


【解决方案1】:

我解决了。

问题是这样的:

在我的本地环境中,我在 barsh 配置文件中有密钥和秘密。当我尝试上传图片时,应用程序变量正在响应该文件。

我刚刚删除了这些行并使用了 application.yml 中的那些

【讨论】:

    猜你喜欢
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多