У меня есть это в моей конф файле Apache:Forwarding Apache заголовки через прокси-сервер для Jetty
<IfModule headers_module>
SetEnv ntPrincipal "[email protected]"
SetEnv legalGivenNames "Me"
SetEnv legalFamilyName "LastName"
SetEnv email "[email protected]"
SetEnv partyId "123456"
SetEnv lang "eng"
#Set Env activeDirectoryGroup "Domain\GroupA"
</IfModule>
Это позволяет следующее PHP $_SERVER['ntPrincipal']
.
Причина этого заключается в подделке аналогичных заголовков в наших локальных средах разработки, которые автоматически вводятся (через Shibboleth) в наши среды dev/test/prod. Это отлично работает для Apache/PHP.
Проблема: моя локальная среда теперь имеет прокси-сервер для Jetty (несвязанного независимого приложения) и пересылает те же заголовки.
Вот моя конфигурация Apache:
ProxyPass /daisy/ http://127.0.0.1:8888/
ProxyPassReverse /daisy/ http://127.0.0.1:8888/
ProxyHTMLURLMap http://127.0.0.1 /daisy/
<Location /daisy/>
ProxyPassReverse/
SetOutputFilter proxy-html
ProxyHTMLURLMap http://127.0.0.1:8888 /daisy/
ProxyHTMLURLMap//daisy/
ProxyHTMLURLMap /daisy/ /daisy/
RequestHeader unset Accept-Encoding
</Location>
Update 1
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
System.out.println(headerName);
Enumeration<String> headers = request.getHeaders(headerName);
while (headers.hasMoreElements()) {
String headerValue = headers.nextElement();
System.out.println(headerValue);
}
}
Этот фрагмент кода содержит список всех заголовков, отправленных в Jetty. В этом случае заголовки, доступные в PHP, недоступны на Jetty.