Apache & Tomcat обратен прокси с основно удостоверяване: Може ли Tomcat да получи потребителското име?

Успешно конфигурирах Apache да слуша през SSL/443 и прокси Tomcat да слуша HTTP/8080. Също така съм настроил основно удостоверяване в Apache.

След като потребителят се свърже с моя Tomcat сървлет, ще бъде ли HttpServletRequest.getRemoteUser() попълнен или нулев. Ако е нула, как мога да получа отдалечения потребител?


person dacracot    schedule 12.08.2015    source източник
comment
Използвате ли mod_proxy или mod_proxy_ajp?   -  person larsks    schedule 12.08.2015
comment
@larsks Използвам mod_proxy.   -  person dacracot    schedule 12.08.2015


Отговори (2)


Най-простото решение може да бъде използването на mod_proxy_ajp, който в допълнение към прокси заявките също прехвърля различни метаданни към Tomcat, включително информация за удостоверяване като REMOTE_USER.

Тези документи за Alfresco обсъждат тази конфигурация, която включва промени както в Tomcat страна (така че да знае, че трябва да се довери на препратеното удостоверяване) и страната на Apache.

Ако използвате общ http прокси като mod_proxy, ще трябва да уредите Apache да добави стойността на REMOTE_USER към заявката (вероятно като X- заглавка) и след това да уредите вашето Tomcat приложение да разпознае и да се довери на тази заглавка ( и очевидно ще трябва да уредите вашия прокси в предния край да отстранява тази заглавка от всички входящи заявки).

Не знам как бихте направили това от страна на tomcat, но това post изглежда има някои предложения.

person larsks    schedule 12.08.2015

Трябваше да добавя

<Location />
    Order allow,deny
    Allow from all
    RequestHeader unset Authorization
</Location>

до мястото за обвиване, като RequestHeader е специалността, която го е поправила.

Намерих това (отново) чрез http://codeblow.com/questions/remove-fundamental-authentication-header-with-apache-mod-proxy/ - не знам къде първоначално го намерих миналата година, беше последна мярка за някакъв проблем със сигурността.

person Florian Heigl    schedule 27.05.2016