У меня есть веб-приложение за HAProxy Балансировщик нагрузки, настроенный в режиме завершения SSL для обработки / дешифрования соединения SSL. Фронтенд и бэкэнд секции haproxy.cfg выглядят следующим образом:
frontend web_applications
mode http
option httplog
option forwardfor
capture request header Referer len 2000
capture request header User-Agent len 250
capture request header Host len 100
capture request header X-Forwarded-For len 50
reqadd X-Forwarded-Proto:\ https
default_backend web_applications
bind *:443 ssl crt /etc/haproxy/certs/cert.pem ciphers AES256
backend web_applications
mode http
balance roundrobin
server web_applications webappserver.net:80 check
Теперь мне нужно улучшить журнал доступа tomcat бэкэнд-приложения, чтобы регистрировать шифры, связанные с HAProxy. Так что в этом случае «AES256». Я ищу способ доступа к этой информации в шаблоне, определенном в AccessLogValve файла конфигурации сервера tomcat. Вот фрагмент текущего шаблона:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/var/cps"
prefix="access_log"
suffix=".txt"
locale="en_US"
rotatable="false"
maxLogMessageBufferSize="512"
pattern="%{X-Forwarded-For}i %a %{begin:yyyy-MM-dd-HH:mm:ss.SSSZ}t %{end:yyyy-MM-dd-HH:mm:ss.SSSZ}t "%r" %s %b" />
Есть ли способ получить доступ к этой информации шифра из HTTP-запроса, полученного в бэкэнд-приложении? Я думал, есть ли способ, которым я могу поместить его в качестве атрибута в HttpServetRequest, используя пользовательский фильтр и добавить код шаблона% {xxx} r, чтобы выйти из него. Конечно, я открыт и для лучших решений.
Спасибо!