2012-03-20 11 views
12

Sto cercando di vedere l'intestazione Autorizzazione in Django, usando mod_wsgi. Ho letto che Apache trattiene di default l'intestazione Authorization, ho messo < < WSGIPassAuthorization On >> nel mio blocco Apache VirtualHost e. . . nada.Dove inserire "WSGIPassAuthorization On"?

Come faccio a capire dove metterlo?

risposta

16

Mettilo nello stesso posto di WSGIScriptAlias ​​e dovrebbe funzionare correttamente.

+0

È lì. non lo fa. – chernevik

+0

In realtà, lo fa. Fallimento mascherato da un altro bug. Inoltre, gli utenti di Django dovrebbero notare che ciò avviene attraverso request.META come 'HTTP_AUTHORIZATION'. – chernevik

+0

+1 ha funzionato per me ... – suhailvs

0

Collegarsi all'EC2, accedere alla cartella etc/httpd/conf.d e aprire il file wsgi.conf. Inserisci il codice all'interno di VirtualHost DOM:

WSGIPassAuthorization On 

RewriteEngine on 
RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 
+0

Per mod_wsgi non dovresti aver bisogno entrambi. Hai solo bisogno di '' WSGIPassAuthorization''. Le regole di riscrittura possono essere usate separatamente se si ha bisogno di ottenere le informazioni attraverso uno script CGI di vecchia scuola. –

Problemi correlati