我使用docker图像
jrei/systemd-ubuntu:18.04
安装golang并设置github.com/remind101/assume-role
然后用{
Python版本是3.7和boto版本是2.49.0
此外,Django requirements安装在venv中
在~/.aws/config中设置aws配置文件并在~/.aws/credentials中设置凭据之后
服务器工作正常,但是boto包无法获取环境变量
Django页面显示错误消息:
NoAuthHandlerFound at /
No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials
Request Method: GET
Request URL: http://localhost/
Django Version: 3.0.5
Exception Type: NoAuthHandlerFound
Exception Value:
No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials
Exception Location: /opt/web/camelot-portal-env/lib/python3.7/site-packages/boto/auth.py in get_auth_handler, line 1021
Python Executable: /opt/web/camelot-portal-env/bin/uwsgi
Python Version: 3.7.8
Python Path:
['.',
'',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/opt/web/camelot-portal-env/lib/python3.7/site-packages']
我检查了$AWS_ACCESS_KEY_ID
和$AWS_SECRET_ACCESS_KEY
两者都不是空的,我尝试将$AWS_CREDENTIAL_FILE
配置为~/.aws/config and
{
两次我重新启动uwsgi服务时,boto仍然没有获得任何密钥或密钥ID
最后,如果我在本地环境中安装需求并使用python manage.py runserver
boto包可以正常获取环境变量,并且一切正常
问题出在哪一部分?码头工人集装箱?uwsgi?还是文夫?有什么想法吗
8/15已编辑
我发现问题出在uWSGI上,它没有获取linux env变量。除非我在文件中像这样设置env: 环境文件
和uwsgi文件:
然后uwsgi的python可以通过
os.environ
获得env变量但是,我仍然无法通过aws令牌验证,我认为这是另一个问题
相关问题 更多 >
编程相关推荐