AWS Elastic Beanstalk:未在Flask应用程序中显示HTTP标头

时间:2016-01-23 22:39:50

标签: flask http-headers

我想在AWS Elastic Beanstalk上运行一个小型Flask应用程序。

应用程序部署并运行正常,但我注意到request.headers中没有自定义HTTP标头(HTTP_CUSTOM_TOKEN)。

我假设我错过了Apache配置中的某些内容,但对该环境并不是很熟悉。

3 个答案:

答案 0 :(得分:8)

你需要的是类似于@Fartash所建议的东西,只是略有不同。

添加.ebextensions/python.config

container_commands:
  03wsgipass:
    command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'

正如Using the AWS Elastic Beanstalk Python Platform

所述

答案 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