我有一個小型Flask應用程序,我想在AWS Elastic Beanstalk上運行。AWS Elastic Beanstalk:HTTP標題未出現在Flask應用程序中
應用程序部署並運行良好,但我注意到在request.headers
中不存在自定義HTTP標頭(HTTP_CUSTOM_TOKEN)。
我假設我從Apache配置中丟失了某些東西,但我對該環境不是很熟悉。
我有一個小型Flask應用程序,我想在AWS Elastic Beanstalk上運行。AWS Elastic Beanstalk:HTTP標題未出現在Flask應用程序中
應用程序部署並運行良好,但我注意到在request.headers
中不存在自定義HTTP標頭(HTTP_CUSTOM_TOKEN)。
我假設我從Apache配置中丟失了某些東西,但我對該環境不是很熟悉。
您需要啓用WSGIPassAuthorization。如果您沒有專門啓用身份驗證轉發,apache將使用所需的標頭,並且您的應用程序將不會收到它。
將此添加到.ebextensions文件夾中的* .config文件中。
commands: WSGIPassAuthorization: command: sed -i.bak '/WSGIScriptAlias/ a WSGIPassAuthorization On' config.py cwd: /opt/elasticbeanstalk/hooks
你需要的是類似於@Fartash建議的東西,只是略有不同。
添加.ebextensions/python.config
:
container_commands:
03wsgipass:
command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
解釋請[編輯]包括一個[MCVE。 – davidism