我在 Heroku 上运行 Redmine(来自http://github.com/edavis10/redmine的 1.2-stable 分支)并希望使用 redmine_s3 插件(https://github.com/tigrish/redmine_s3)将资产存储在 S3 上.
我使用本指南进行设置:http ://blog.firsthand.ca/2010/10/installing-redmine-on-heroku-with-s3.html
它在本地运行良好,当我启动 Redmine(在生产环境中)时,它会创建配置的存储桶并将我上传的所有资产存储在其中。
但是当我尝试在 Redmine 上运行它时,它会在第一次向 Heroku 请求时崩溃
/usr/ruby1.9.2/lib/ruby/1.9.1/net/http.rb:2303:in `error!': 403 "Forbidden" (Net::HTTPServerException)
from /app/vendor/plugins/redmine_r3/lib/S3.rb:306:in `block in make_request'
from /usr/ruby1.9.2/lib/ruby/1.9.1/net/http.rb:627:in `start'
from /app/vendor/plugins/redmine_r3/lib/S3.rb:281:in `make_request'
from /app/vendor/plugins/redmine_r3/lib/S3.rb:157:in `create_bucket'
from /app/vendor/plugins/redmine_r3/lib/redmine_s3/connection.rb:57:in `create_bucket'
from /app/vendor/plugins/redmine_r3/init.rb:17:in `block in <top (required)>'
违规行在这里:https ://github.com/tigrish/redmine_s3/blob/master/lib/S3.rb#L306
我仔细检查了两遍,Heroku 和我的本地机器上的配置(S3 凭据、存储桶名称等)完全相同。我尝试了不同的存储桶名称和 S3 凭据,仍然是同样的错误。Redmine 本身(没有 redmine_s3 插件)在 Heroku 中工作得很好。就在我添加插件后...繁荣!
我怀疑 Heroku 到 S3 的请求有一些奇怪的标头或其他属性,使 S3 拒绝请求。
任何人都可以确认或否认这一点吗?对于如何完成这项工作的任何想法,我都会很高兴。