我想在AWS Elastic Beanstalk上运行一个小型Flask应用程序。
应用程序部署并运行正常,但我注意到request.headers
中没有自定义HTTP标头(HTTP_CUSTOM_TOKEN)。
我假设我错过了Apache配置中的某些内容,但对该环境并不是很熟悉。
答案 0 :(得分:8)
你需要的是类似于@Fartash所建议的东西,只是略有不同。
添加.ebextensions/python.config
:
container_commands:
03wsgipass:
command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
所述
答案 1 :(得分:4)
从标题变量中删除下划线, 例如:-
header_var_val = "some value"
替换为-headervarval = "some value"
答案 2 :(得分:2)
您需要启用WSGIPassAuthorization。如果您没有专门启用身份验证转发,则apache将使用所需的标头,您的应用将不会收到它。
将其添加到.ebextensions文件夹中的* .config文件中。
commands:
WSGIPassAuthorization:
command: sed -i.bak '/WSGIScriptAlias/ a WSGIPassAuthorization On' config.py
cwd: /opt/elasticbeanstalk/hooks