1

我正在努力实现 Rails 4 / Ruby 2 雾 / 载波集成。基本上我的应用程序在运行大约一天的独角兽服务器后返回:[HTTP 401] Fog::Storage::Rackspace::ServiceError 然后我查询服务器,并检查我是否可以手动访问服务器,然后没有问题。所以我很迷茫,不知道该怎么办。

F, [2013-06-17T00:47:58.519007 #31200] FATAL -- : 
ActionView::Template::Error ([HTTP 401] Fog::Storage::Rackspace::ServiceError):
21:             <li class="span4">
22:               <div class="thumbnail">
23:                 <div style="height: 270px">
24:                   <%= image_tag(website.logo_url(:web), :class => 'img-rounded') if website.logo? %>
25:                 </div>

今天看到他们把FOG更新到1.12.1,正在尝试升级,但我真的不知道是什么问题。似乎与 Rackspace 的连接变坏了……有什么想法吗?谢谢!!

4

4 回答 4

1

感谢 Henning 的观察,我发现 Fog 的 Rackspace CDN 服务在身份验证令牌过期后没有重新进行身份验证。我已向fog => https://github.com/fog/fog/pull/1899提交了以下拉取请求。

我预计新版本的 Fog 将在 7 月初发布此修复程序。在此期间,我创建了一个补丁以应用于当前的 Fog gem -> https://gist.github.com/krames/5817816

该文件应保存在 Rails 应用程序的初始化程序目录中并命名为 01_cdn_patch.rb 以便正确应用。它仅适用于 Fog 1.12.1。

于 2013-06-19T20:45:56.997 回答
0

我们遇到了同样的问题。AuthToken 将在 24 小时后过期。发生这种情况时,雾会引发此错误,并且不会尝试重新进行身份验证。如果重新启动服务器 Fog 会重新进行身份验证。但这并不能算作一个解决方案。

希望你能想出一些解决办法。我添加了相关的堆栈跟踪。我们使用雾 1.12.1。

干杯

[GEM_ROOT]/gems/excon-0.23.0/lib/excon/middlewares/expects.rb:10:in `'
[GEM_ROOT]/gems/excon-0.23.0/lib/excon/connection.rb:353:in `'
[GEM_ROOT]/gems/excon-0.23.0/lib/excon/connection.rb:247:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/core/connection.rb:25:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/cdn.rb:157:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/requests/cdn/head_container.rb:30:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/cdn.rb:62:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/models/storage/directory.rb:183:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/models/storage/directory.rb:131:in `'
[GEM_ROOT]/gems/fog-1.12.1/lib/fog/rackspace/models/storage/file.rb:177:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/storage/fog.rb:304:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/storage/fog.rb:322:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/uploader/url.rb:19:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:160:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/uploader/default_url.rb:8:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/uploader/versions.rb:156:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/uploader/default_url.rb:8:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/mount.rb:377:in `'
[GEM_ROOT]/gems/carrierwave-0.8.0/lib/carrierwave/mount.rb:187:in `'
于 2013-06-19T13:31:15.663 回答
0

我遇到了同样的问题,并在 Gemfile 中使用 gem "fog", "~> 1.14.0" 而不是 gem "fog", "~> 1.10.1" 解决了这个问题,因为这个页面推荐https://github.com/ carrierwaveuploader/carrierwave#using-rackspace-cloud-files

于 2013-07-21T13:15:07.440 回答
0

我是 Rackspace 开发人员关系团队的成员,负责 Fog 的工作。得知您遇到问题,我们深感抱歉。

你能和我分享你的配置信息吗(当然是混淆你的用户名和 api 密钥)。随时在这里分享或发送电子邮件至https://developer.rackspace.com/support/

另外,你能告诉我你的容器在哪个数据中心吗?

谢谢!

凯尔

于 2013-06-17T14:11:19.810 回答