简体   繁体   中英

Python Flask mod-wsgi Custom Headers not in Request

I've a simple Python Flask application, which is being served by Apache via mod_wsgi.

The part of my application which works perfectly on my localhost, but does not work through mod_wsgi is the accessing of custom request headers.

When I request a certain web page, I pass it a header called auth_user . On my localhost, I am able to access this header as: request.headers["auth_user"] , which works great. However when served through Apache and mod_wsgi, this custom header does not exist! Printing all request.headers shows that the standard Content-Type , Cache-Control headers are sent, but not the auth_user header which i've been sending to my localhost with no problem.

Tcpdump shows that the server is receiving the header, but it is not available in my request.headers .

Does anyone have any idea why this header is not being made available within the app?

Well this one took me many hours...

Turns out that only alphanumeric characters or '-' are allowed.

Any headers not conforming these will be ignored.

http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.3.0.html <- Bug fixes, point 2.

解决方案是将声明前缀设置为没有_ like的东西

OIDCClaimPrefix OIDC-CLAIM-

确保您的Apache配置将WSGIPassAuthorization指令设置为“On”,以便您的标头通过Apache + WSGI和Flask应用程序。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM