gpt4 book ai didi

ruby-on-rails - Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden)

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

当我尝试将图片上传到“汽车”对象时,我被拒绝访问 S3。但是自从我添加了 S3 以来,assets 文件夹中的站点图像显示得很好。我得到的具体错误是这样的:

2015-02-17T14:40:48.459629+00:00 app[web.1]: Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden)
2015-02-17T14:40:48.459630+00:00 app[web.1]: excon.error.response
2015-02-17T14:40:48.459635+00:00 app[web.1]: "Connection" => "close"
2015-02-17T14:40:48.459637+00:00 app[web.1]: "Content-Type" => "application/xml"
2015-02-17T14:40:48.459639+00:00 app[web.1]: "Date" => "Tue, 17 Feb 2015 14:40:48 GMT"
2015-02-17T14:40:48.459640+00:00 app[web.1]: "Server" => "AmazonS3"
2015-02-17T14:40:48.459632+00:00 app[web.1]: :body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>2CE306ACD51F02A1</RequestId><HostId>tKLXUAKxyDFTMExl7kE+AuVVsEJOFqXh983li6N7R2UlYDXv1Z3GJRvW5zy1XIXVs2zArp310vg=</HostId></Error>"
2015-02-17T14:40:48.459642+00:00 app[web.1]: "x-amz-id-2" => ""part of secret key"="

与“ secret key 的一部分”显然被编辑了。我尝试创建不同的用户并使用新 key ,但这没有用。不是从这里去哪里。

应用程序/上传器/图片上传器
class PictureUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_limit: [400, 400]

if Rails.env.production?
storage :fog
else
storage :file
end

# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

# Add a white list of extensions which are allowed to be uploaded.
def extension_white_list
%w(jpg jpeg gif png)
end
end

carrier_wave.rb
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
# Configuration for Amazon S3
: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
end

我相信这是所有相关文件,如果还有更多要查看的文件,请告诉我。不确定指定区域或高级用户是否会有所帮助,似乎不会。

最佳答案

[编辑:此时我默认使用另一个答案,特别是如果您处于生产环境中。这是一种解决方法,在几年前制作易碎玩具时对我有用,但我同意在考虑安全问题时授予最低权限。]

我遇到了同样的错误,解决方案是从 AWS 管理控制台附加管理访问策略:

1) 通过 http://aws.amazon.com/iam/ 登录 AWS 管理控制台

2) 单击左侧导航 Pane 中的“策略”

3) 选择“AdministratorAccess”策略

4) 单击页面顶部的策略操作 > 附加

5) 选择与我的 S3_ACCESS_KEY、S3_SECRET_KEY 和 S3_BUCKET 关联的用户

6) 点击“附加策略”

仅在 https://console.aws.amazon.com/s3/home 处授予我的存储桶中的所有权限还不够。

关于ruby-on-rails - Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28564653/

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