gpt4 book ai didi

django - 如何使用 NGINX 为 Django 应用程序的用户 www-data 设置 AWS 凭证

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

我有一个 Django 应用程序在 NGINX 下的 Linux 服务器上运行。 Django 应用程序的“用户”是 www-data。在此应用程序中,我尝试连接到 AWS IOT,为此我相信 AWS boto3 包会尝试在此处找到 AWS 凭证:~/.aws/credentials。问题是对于用户 www-data 没有这样的路径!当我登录服务器(使用我的真实用户名)并尝试运行连接到 AWS 的脚本时,它连接得很好。假设我的用户名是“joe”。确实有一个包含正确凭据的文件 /home/joe/.aws/credentials。这就是当我以用户“joe”运行时脚本运行良好的原因。但是当Django应用程序运行时,它不起作用,因为没有登录用户www-data,即没有文件/home/www-data/.aws/credentials.

我知道 AWS boto3 让我们设置一个环境变量来指定凭证文件的非标准路径。这个环境变量是 AWS_SHARED_CREDENTIALS_FILE 并且还有一个 AWS_CONFIG_FILE。

但是,我不知道如何在 Django 中为用户 www-data 设置环境变量,以便 boto3 现在可以使用该环境变量来指定 AWS 凭证路径。

有人知道怎么做吗?请注意,这是一个生产环境,所以我不能使用任何本地服务器技巧/技巧。

最佳答案

如果您从 EC2 实例运行 Django 应用程序,最佳做法是将 IAM 角色关联到该实例。

关于django - 如何使用 NGINX 为 Django 应用程序的用户 www-data 设置 AWS 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354530/

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