Я уже писал этот вопрос, но не на правильном форуме.

Я настроил tomcat7 для использования SSL и сделал так, чтобы он указывал на хранилище ключей. Хранилище ключей по умолчанию имеет самозаверяющий сертификат. Существует несколько веб-приложений, развернутых в tomcat, которые доступны через HTTPS, если вы отключите проверки сертификата, которые обязательно завершатся неудачей из-за использования самозаверяющего сертификата. Одно из развернутых веб-приложений предоставляет API-интерфейсы REST для управления сертификатами в хранилище ключей, что включает установку нового сертификата идентификации или цепочки доверия. Я заметил, что сразу после установки нового сертификата идентификации все веб-приложения больше не доступны через HTTPS, даже если проверка сертификата отключена. Попытки подключиться через HTTPS возвращают ошибку подключения SSL. HTTP работает просто отлично. Если я перезапущу tomcat, то ошибка исчезнет, и все веб-приложения будут выглядеть счастливыми по HTTPS. Есть идеи, почему требуется перезагрузка? Я сделал что-то не так, чтобы потребовать перезагрузку кота? Есть ли способ избежать перезагрузки?

1 ответ1

0

Перезапуск необходим, потому что Tomcat кэширует хранилище ключей при запуске и никогда не перезапускает его до следующего перезапуска. Это означает, что даже если вы измените хранилище ключей, Tomcat не будет читать его, пока вы не перезапустите его.

Насколько я знаю, вы не можете избежать перезапусков при обновлении хранилища ключей, и это то, что вы обычно не хотите менять "онлайн" из-за угроз безопасности. Я не уверен, почему ваши приложения перестают работать после того, как вы изменили файл, возможно, он станет каким-то образом непоследовательным и все испортит.

Может быть, это представляет интерес: https://stackoverflow.com/questions/5816239/how-do-i-force-tomcat-to-reload-trusted-certificates

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .