2017-03-15 56 views
0

這是我的情況:
的WebSocket與Apache mod_proxy_wstunnel到Tomcat javax.servlet.request.X509Certificate

瀏覽器< --- HTTPS/WSS --->的Apache的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(不阿帕奇)我可以這樣訪問:

request.getAttribute("javax.servlet.request.X509Certificate"); 

但與反向代理我沒有任何屬性。 這可能是因爲在Apache和Tomcat之間沒有SSL?但據我瞭解這並不重要,因爲如果我做了一個正常的HTTPS請求,我得到了tomcat中的所有SSL信息。我認爲這是因爲我有這個:
SSLOptions +StdEnvVars +ExportCertData
但我認爲mod_proxy_wstunnel不使用該配置。

有人可以幫我嗎? 提前謝謝!

回答

0

這是因爲在apache和tomcat之間沒有SSL。 對於「正常」HTTPS,您使用的是AJP而不是HTTP。 AJP將身份驗證信息傳遞給Tomcat。

你的 「情況」 真的是: 瀏覽器< --- HTTPS/WSS --->的Apache的httpd < --- AJP/WS --->的Tomcat(V7)

相關問題