você pode
-
proteja somente a conexão de clientes com seu balanceador e assuma a rede balanceadora como confiável:
cliente < - SSL - > balanceador < - AJP / HTTP - > trabalhadores
-
ou você pode proteger todo o caminho (nota: Balancer é na verdade um ataque ManInTheMiddle por definição :-), então você terá que confiar seu balanceador implicitamente em trabalhadores ...)
cliente < - SSL - > balanceador < - SSL - > trabalhadores
A opção 2) tem sérios inconvenientes de desempenho. Eu vou te mostrar como fazer as duas coisas:
1)
link
<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>
Agora o AS7 usa HTTPS apenas para postar mensagens Mod_cluster no balanceador. Outro balanceador - > A comunicação AS7 (como as solicitações do cliente) não é criptografada, porque usa o AJP.
2)
link
+++
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">
+++
Em relação a 2)
- Observe que verify-client="false", você não pode verificar o cliente, pois a solicitação está chegando por meio do balanceador ...
- Anote a queda de desempenho.
- Observe um bug link (provavelmente também afeta o Mod_cluster atual)
HTH
Felicidades