mod_wsgiでHTTP_AUTHORIZATIONを受け取る。

Django でDigest認証用のバックエンドを書いていたんだけれども、 Apachemod_wsgi で動かすとなぜか認証を通過出来ない。

で、色々と泥臭いデバッグを繰り返したところ、 そもそも HTTP_AUTHORIZATION ヘッダが渡されていない様子。

request.META.get('HTTP_AUTHORIZATION')  # <-- コレがNoneになる。

ちょこっとググってみる前に、 mod_wsgi のドキュメントを眺めてみると、 ちゃんと Configuration GuidelinesConfiguration Directives に書いてありました。

WSGIPassAuthorization On

これを VertualHost ディレクティブに追加したら、 バッチリ HTTP_AUTHORIZATION を受け取れた! 認証も通りましたですよ!

セキュリティ面から、 WSGIPassAuthorization ディレクティブはデフォルトではOffらしい。 なるほどなるほど。

Posted at: 
2007/12/27 01:43:07
2 Comments
0 TrackBacks
Tags: 
apache
Django
mod_wsgi
Python
Trackback: 
http://humming.via-kitchen.com/2007/12/27/passed-httpauthorization-on-modwsgi/trackback/

TrackBacks

まだ登録されていません。

Comments

ENDLESS

おぉ~流石☆
しっかり解決してから寝たんですねっ!

Created at: 
2007/12/27 08:24:03

nobu

こういう問題は解決しないと眠れません。

Created at: 
2007/12/28 01:52:57

Add Comment

Add Comment