Estou executando um aplicativo no Tomcat7 com Apache Portable Runtime, comprei um certificado SSL e configurei-o corretamente - quando tento conectar-me por meio da combinação ip: port, ele se conecta bem, mas avisa que o certificado foi emitido para o nome de domínio, não o IP.
O VPS que eu estou ligado não tem o SELinux (e há um problema de instalação), que é requerido pelo AFAIK que o SSL seja configurado no apache, então eu quero apenas rotear os pedidos para o Tomcat, que faz isso no seu fim.
Eu configurei o apache para fazer proxy nas conexões, primeiro com a porta 80 que funciona perfeitamente:
NameVirtualHost www.mysite.com:80
<VirtualHost www.mysite.com:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName http://www.mysite.com
ServerAlias http://www.mysite.com
ProxyPass / http://localhost:8180/MYSITE/
ProxyPassReverse / http://localhost:8180/MYSITE/
ProxyPassReverseCookiePath /MYSITE/ /
</VirtualHost>
E, em seguida, com a porta SSL que não quer funcionar por algum motivo:
NameVirtualHost www.mysite.com:443
<VirtualHost www.mysite.com:443>
SSLProxyEngine On
ProxyPreserveHost On
ProxyRequests Off
ServerName https://www.mysite.com
ServerAlias https://www.mysite.com
ProxyPass / https://localhost:8443/MYSITE/
ProxyPassReverse / https://localhost:8443/MYSITE/
ProxyPassReverseCookiePath /MYSITE/ /
CacheDisable *
</VirtualHost>
EDITAR :
Eu adicionei o
RequestHeader set Front-End-Https "On"
diretriz para o VirtualHost www.mysite.com:443, conforme: link
Aqui está o conector do Tomcat APR conforme configurado no server.xml do Tomcat -
<Connector port="8443" maxHttpHeaderSize="16500"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLCertificateFile="x509-cert-path"
SSLCertificateKeyFile="key-file-path"
/>
Não houve erros / avisos que permitissem os hosts virtuais e reiniciassem o apache. Quando eu tento https, isso é o que eu vejo no FFox:
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
E no Chromium:
Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.
O error.log do Apache mostra esta mensagem de aviso:
[warn] [client 216.58.38.90] proxy: no HTTP 0.9 request (with no host line) on incoming request and preserve host set forcing hostname to be www.mysite.com for uri /
Passei dias tentando configurá-lo e ficaria muito grato se alguém explicasse o que está acontecendo e como corrigi-lo.
Muito obrigado. Victor.