ignorar o SSL do apache e usar o tomcat

1

Eu não quero que meus clientes negociem uma conexão SSL com o servidor web Apache, quero que eles façam isso com o servidor tomcat por trás dele. Como posso fazer isso?

Minha configuração atual de httpd.conf é:

Listen 443 https
SSLProxyEngine On
ProxyPass / https://localhost:8443/
ProxyPassReverse / https://localhost:8443/
<VirtualHost _default_:443>
  SSLProxyEngine On
  ProxyPass / https://localhost:8443/
  ProxyPassReverse / https://localhost:8443/
  SSLEngine On
  SSLProtocol all -SSLv2
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
  SSLCertificateFile /etc/pki/tls/certs/localhost.crt
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>

Funciona, mas não como eu quero. Parece que o cliente está negociando com o apache e o servidor web apache com o tomcat. (O que eu vejo é o certificado autoassinado do servidor web apache)

    
por NotGaeL 31.12.2015 / 14:25

1 resposta

1

Eu não acho que você possa fazer o que quiser com o apache na frente do tomcat. Se você quiser que o tomcat lide com a negociação ssl, por que não apenas usar o iptables para redirecionar o tráfego no 443 para sua porta (8443)? Você poderia fazer isso com uma regra como (substitua eth0 pela sua interface ethernet):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443

Se você quiser / precisar manter o apache no lugar, acho que precisará negociar o SSL no apache. Como alternativa, se você quiser algo na frente do seu aplicativo tomcat você pode usar haproxy ou nginx - eles funcionarão como proxies genéricos.

    
por 01.01.2016 / 00:34