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.