如果我在安全局域网中同时使用httpd和JBoss,是否可以在httpd上终止SSL请求,并通过mod_cluster将请求传递给可用的JBoss?
任何想法什么configuration涉及?
默认情况下,mod_cluster将终止您的SSL连接,并将信息传递给未encryption的后端。 有关说明,请参阅http://docs.jboss.org/mod_cluster/1.0.0/html/UsingSSL.html 。
注意第12.2节显示了在代理和后端服务之间使用SSL所需的额外configuration。 12.3节展示了如何转发有关SSL会话的信息,如果你的应用程序有理由关心它,
你也可以
只保护从客户端到您的平衡器的连接,并将平衡器 – 工作者networking视为可信:
客户端< – SSL – >平衡器< – AJP / HTTP – >工
或者你可以保护整个path(注意:平衡器实际上是一个ManInTheMiddle攻击的定义:-),所以你将不得不相信你的平衡器隐式的工人…)
客户端< – SSL – >平衡器< – SSL – >工
2)选项有严重的性能缺点。 我会告诉你如何做到这两点:
1) httpd:
<IfModule manager_module> Listen 8888 ManagerBalancerName qacluster <VirtualHost localhost:8888> ServerName localhost:8888 <Directory /> Order deny,allow Deny from all Allow from all </Directory> ServerAdvertise on EnableMCPMReceive AdvertiseGroup 224.0.1.105:6666 <Location /mcm> SetHandler mod_cluster-manager Order deny,allow Deny from all Allow from all </Location> SSLEngine on SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL SSLVerifyDepth 10 SSLCertificateKeyFile /home/karm/Server/server.key SSLCertificateFile /home/karm/Server/server.crt SSLCACertificateFile /home/karm/Server/myca.crt LogLevel debug </VirtualHost> </IfModule>
AS7:
<subsystem xmlns="urn:jboss:domain:modcluster:1.1"> <mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="ajp"> <dynamic-load-provider history="10" decay="2"> <load-metric type="busyness"/> </dynamic-load-provider> <ssl key-alias="javaclient" password="tomcat" certificate-key-file="/home/karm/Client/client-cert-key.jks" cipher-suite="AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL" ca-certificate-file="/home/karm/Client/ca-cert.jks"/> </mod-cluster-config> </subsystem>
现在,AS7仅使用HTTPS将Mod_cluster消息发布给平衡器。 其他平衡器 – > AS7通信(如客户端的请求)没有encryption,因为它使用AJP。
2) httpd:
+++ SSLEngine on +SSLProxyEngine On +++
AS7:
+++ -<connector name="ajp" protocol="AJP/1.3" scheme="ajp" socket-binding="ajp"/> +<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true"> + <ssl name="https" key-alias="javaclient" password="tomcat" certificate-key-file="/home/karm/Client/client-cert-key.jks" cipher-suite="AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL" protocol="TLS" verify-client="false" certificate-file="/home/karm/Client/client-cert-key.jks" ca-certificate-file="/home/karm/Client/ca-cert.jks"/> +</connector> +++ -<mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="ajp"> +<mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="https"> +++
关于2)
HTH
干杯