这是我的情况:
浏览器和LT; --- HTTPS / WSS --->阿帕奇的httpd< --- HTTP / WS ---> Tomcat的(V7)
是否可以使用mod_proxy_wstunnel反向代理在Servlet过滤器中获取javax.servlet.request.X509Certificate?那是我的配置:
ProxyPass /ws ws://space4-20.<***>.ch:8080/ws nofailover=On
ProxyPassReverse /ws ws://space4-20.<***>.ch:8080/ws
ProxyPass / ajp://space4-20.<***>:8009/ nofailover=On
ProxyPassReverse / ajp://space4-20.<***>:8009/
如果我直接连接到tomcat(没有apache),我可以像这样访问它:
request.getAttribute("javax.servlet.request.X509Certificate");
但是使用反向代理我没有任何属性。
是因为apache和tomcat之间没有SSL吗?但据我所知,这并不重要,因为如果我执行正常的HTTPS请求,我将获得tomcat中的所有SSL信息。我想那是因为我有这个:
SSLOptions +StdEnvVars +ExportCertData
但我认为mod_proxy_wstunnel不使用该配置。
有人能帮助我吗? 提前谢谢!
答案 0 :(得分:0)
这是因为在apache和tomcat之间没有SSL。 对于&#34;正常&#34; HTTPS,您使用 AJP 而不是HTTP。 AJP将身份验证信息传递给Tomcat。
你的情况&#34;真的是: 浏览器与LT; --- HTTPS / WSS ---&GT;阿帕奇的httpd&LT; ---的 AJP 强> / WS ---&GT; Tomcat的(V7)