首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails Excon::Errors::Forbidden预期(200) <=>实际(403禁止)

Rails Excon::Errors::Forbidden预期(200) <=>实际(403禁止)
EN

Stack Overflow用户
提问于 2016-03-22 03:16:21
回答 1查看 1.8K关注 0票数 0

我在我的本地环境中,我使用carrierwave和fog两个单独的上传程序上传图像和文件。

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

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

代码语言:javascript
复制
class AttachmentUploader < CarrierWave::Uploader::Base

 storage :fog

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

Gemfile:

代码语言:javascript
复制
gem 'carrierwave', '~> 0.10.0'
gem 'mini_magick', '~> 4.3.6'
gem 'fog', '~> 1.36.0'

Config/Initializers/carrierwave.rb

代码语言:javascript
复制
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创建)

代码语言:javascript
复制
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

亚马逊S3存储桶策略:

代码语言:javascript
复制
{
"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/*"
    }
]
}

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

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

EN

回答 1

Stack Overflow用户

发布于 2016-03-23 00:07:50

我解决了。

问题是这样的:

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

我只是删除了行,并使用了application.yml中的行

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36139709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档