Como posso habilitar o SSL para o Tomcat usando um par de arquivo crt/key?
Eu tentei isso:
Habilitei o conector APR na configuração server.xml:
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
SSLEnabled="true"
SSLCertificateFile="my.crt"
SSLCertificateKeyFile="my.key" />
Eu tive que usar APR em vez de Http11NioProtocol porque crt e key file são atualizados/renovados automaticamente por um processo externo. E parece que Http11NioProtocol pode usar apenas keystore.
Então eu tentei instalar o APR:
sudo apt-get install libapr1 libapr1-dev
Recarreguei o Tomcat, mas o APR não foi encontrado:
org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available
libapr1
é um pré-requisito para usar APR, mas simplesmente não é suficiente. Você precisa instalar o pacotelibtcnative-1
.libapr1
normalmente é instalado como uma dependência do mesmo. Você pode sinalizar posteriormente como não instalado manualmente. Você pode fazer isso com o comandoapt-mark auto libapr1
.Há uma linha adicional na configuração (
server.xml
) que precisa estar ativa:<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
. Isso carrega as bibliotecas nativas.