0

我正在使用 s3 来记录我的静态文件和django-storages来为它们服务。

    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    AWS_STORAGE_BUCKET_NAME = 'mybucket'
    STATIC_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME

我尝试在 heroku 上部署我的应用程序,并且为了验证我的访问 S3 的进程,可以将访问凭据设置为:

export AWS_ACCESS_KEY_ID=<key ID>
export AWS_SECRET_ACCESS_KEY=<key>

这适用于heroku。

我为 webfaction 尝试了相同的方法,但总是得到以下错误:

NoAuthHandlerFound at /admin/
No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials

所以我的问题是:如何正确地将凭据设置为 env。我可以通过 gunicorn 访问 S3 上的文件的变量。

请注意,我只想将凭证传递给 gunicorn 进程。我不想将它们存储在配置中。文件。

4

1 回答 1

3

我对 webfaction 一无所知,但 boto 也会在 boto 配置文件中查找凭据。默认情况下,它将查找 in/etc/boto.cfg和 in ~/.boto。这个文件是一个 INI 风格的配置文件,你需要像这样添加你的凭据:

[Credentials]
aws_access_key_id = <key ID>
aws_secret_access_key = <key>
于 2012-10-05T11:28:30.003 回答