Я настроил tomcat внутри контейнера докеров следующим образом
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="my.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true" >
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate certificateKeyFile="/etc/letsencrypt/live/example.com/privkey.pem"
certificateFile="/etc/letsencrypt/live/example.com/cert.pem"
certificateChainFile="/etc/letsencrypt/live/example.com/chain.pem"
type="RSA" />
Перезапустил контейнер докеров, но он недоступен через https
где my.jks хранится в каталоге tomcat / conf.
Я настраиваю док-контейнер следующим образом:
docker run -d \
--name=nameofcontainer \
-p 80:8080 \
-p 443:8443 \
--net=cyclos-net \
--cap-add=NET_ADMIN \
-e DB_HOST=cyclos-db \
-e DB_NAME=cyclos \
-e DB_USER=cyclos \
-e DB_PASSWORD=cyclos \
image-id
Но сайт недоступен через https или порт 8443
Согласно КАК ПОЛЬЗОВАТЬСЯ конфигурацией SSL / TLS:
Чтобы определить соединитель Java (JSSE), независимо от того, загружена ли библиотека APR или нет, используйте ОДИН из следующих:
<!-- Define a HTTP/1.1 Connector on port 8443, JSSE NIO implementation --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" .../> <!-- Define a HTTP/1.1 Connector on port 8443, JSSE BIO implementation --> <Connector protocol="org.apache.coyote.http11.Http11Protocol" port="8443" .../>
Почему вы используете оба разъема вместе на одном порте?
Вы должны использовать только один из них. Или настройте их на разных портах.