2 回答
TA贡献1951条经验 获得超3个赞
通过将 ssl_fc_cipher 设置为haproxy.cfg中的自定义 HTTP 标头,我能够在 Tomcat 的访问日志中获取 SSL 密码:
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
http-request set-header X-SSL-Cipher %[ssl_fc_cipher]
backend web_applications
mode http
balance roundrobin
server web_applications webappserver.net:80 check
在 AccessLog Valve 中捕获 X-SSL-Cipher 自定义标头:
<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 %X-SSL-Cipher}i" />
TA贡献1820条经验 获得超10个赞
在 haproxy 中,您可以使用自定义日志记录功能来指定记录密码信息。有关自定义日志记录,请参阅haproxy 文档。
'%sslc' - ssl_ciphers (ex: AES-SHA)
一个示例自定义日志字符串,包括密码日志记录:
defaults log-format "%ci:%cp [%tr] %ft %b/%s %TR/%Tw/%Tc/%Tr/%Ta %ST %B %CC \ %CS %tsc %ac/%fc/%bc/%sc/%rc %sq/%bq %hr %hs %{+Q}r %sslc"
添加回答
举报