Как я могу включить SSL для Tomcat с помощью пары файл crt / key?
Я пробовал это:
Я включил коннектор APR в конфигурации 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" />
Мне пришлось использовать APR вместо Http11NioProtocol, потому что crt и ключевой файл обновляются / обновляются автоматически внешним процессом. И кажется, что Http11NioProtocol может использовать только хранилище ключей.
Потом попробовал установить APR:
sudo apt-get install libapr1 libapr1-dev
Я перезагрузил Tomcat, но APR не найден:
org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available
libapr1
является обязательным условием для использования APR, но этого просто недостаточно. Вам необходимо установить пакет libtcnative-1
.
libapr1
обычно устанавливается как зависимость. Позже вы можете пометить его как не установленное вручную. Сделать это можно с помощью команды apt-mark auto libapr1
.
В конфигурации есть одна дополнительная строка (server.xml
), который должен быть активным: <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
. Это загружает собственные библиотеки.