Apache удаляет заголовок" авторизация"

у меня небольшая проблема с моим сервером Apache 2.2.15. Я запускаю приложение Django поверх него с помощью mod_wsgi. Я активировал WSGIPassAuthorization On, что сделало основную работу auth хорошо. Но недавно я реализовал OAuth2.0 для защиты моего API (неявный Грант), и я думаю, что Apache не пропустит его, так как он имеет форму "Authorization: Bearer token". "Носитель" - это проблема, я думаю, хотя я не знаю, как этого избежать.

пробовал :

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

в httpd.conf, .htaccess файл (после установки AllowOverride All), и в моем vhost. Нечего делать, не работает. Я весь день ползал по Интернету и не нашел ничего, кроме этих двух решений.

спасибо заранее !

EDIT:

OS : RedHatEL6.4
Apache : 2.2.15
Django: 1.6.6 w/ django-oauth-toolkit
Python: 2.7.8

2 ответов


Я решил свою проблему, которая, наконец, была полностью не связана с моей конфигурацией Apache. Поэтому, если вы нашли эту тему в поисках ответа на ту же проблему, одно из решений ниже должно исправить это:

конфигурация WSGI:

WSGIPAssAuthorization On

конфиг .реврайт :

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

вы можете поместить оба из них в свой httpd/conf.d / проект.файл conf !


несколько модулей снимут заголовок авторизации, чтобы попытаться повысить безопасность, предотвращая скрипты от просмотра имен пользователей, паролей и т. д... если разработчик явно не разрешает это. Многие из этих модулей разрешат этот заголовок, Если вы просто добавите следующую строку .реврайт: CGIPassAuth on (источник: Apache docs и StackOverflow)