ruby轨道 – 载波波亚马逊S3图像不显示
我已经安装了载波和雾,已成功上传图像并首次查看,但现在不再显示图像.
这是我的配置文件app / config / initializers / carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => 'AWS',# required :aws_access_key_id => 'AKIAJKOHTE4WTXCCXAMA',# required :aws_secret_access_key => 'some secret key here',# required :region => 'eu-east-1',# optional,defaults to 'us-east-1' :host => 'https://s3.amazonaws.com',defaults to nil :endpoint => 'https://s3.amazonaws.com:8080' # optional,defaults to nil } config.fog_directory = 'createmysite.co.za' # required config.fog_public = false # optional,defaults to true #config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional,defaults to {} end 这是网址看起来像应该显示的图像 <img alt="Normal_selection_003" src="https://createmysite.co.za.s3.amazonaws.com/uploads/portfolio/image/3/normal_Selection_003.png?AWSAccessKeyId=AKIAJKOHTE4WTXCCXAMA&Signature=8PLq8WCkfrkthmfVGfXX9K6s5fc%3D&Expires=1354859553"> 当我打开图像url这是从亚马逊的输出 <Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>3F179B7CE417BC12</RequestId> <HostId> zgh46a+G7UDdpIHEEIT0C/rmijShOKAzhPSbLpEeVgUre1iDc9f7TSOwaJdQpR65 </HostId> </Error> 更新 新配置文件(添加了雾url到期)app / config / initializers / carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => 'AWS',# required :aws_secret_access_key => 'chuck norris',# required } config.fog_directory = 'createmysite.co.za' # required config.fog_public = false # optional,defaults to true config.fog_authenticated_url_expiration = 600 # (in seconds) => 10 minutes end 奇迹般有效! 解决方法
您将config.fog_public设置为false,并使用Amazon S3进行存储.通过S3的私有文件的URL是临时的(它们已经签名并且有期满).具体来说,您问题中发布的URL的Expires = 1354859553参数.
1354859553是星期五,2012年12月07日05:52:33 GMT,这是从当前的时间过去,所以链接已经有效过期,这就是为什么你得到访问被拒绝的错误. 您可以通过设置进一步调整到期时间(默认值为600秒) config.fog_authenticated_url_expiration = ... # some integer here 如果你想要非到期链接 >将config.fog_public设置为true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |