Существует несколько распространенных режимов развертывания Tomcat в MS-Windows, если включен HTTPS:
- Tomcat работает за IIS, OpenSSL не используется
- Tomcat работает за Apache, OpenSSL используется Apache
- Автономный сервер Tomcat с соединителем JSSE (Java SSL), OpenSSL не используется
- Автономный сервер Tomcat с разъемом APR, используется OpenSSL
Если у вас есть автономный сервер Tomcat, вы можете определить, какой метод HTTPS используется, проверив конфигурацию протокола соединителя. Apache предоставил бинарные файлы Tomcat 6.0 по умолчанию, включая APR (и, следовательно, OpenSSL), хотя вы, возможно, не используете его (обновите в любом случае!). Кроме того, если у вас установлен OpenSSL отдельно, это не имеет значения с точки зрения Tomcat (хотя он может использоваться вашим Apache или другим веб-сервером).
Если вы используете официальный двоичный файл веб-сервера Apache-2.2 (contrib), номер версии OpenSSL обычно кодируется в имени файла пакета установщика. Для 2.4 есть несколько разных упакованных версий. По крайней мере, один (Apachehaus) документирует версию OpenSSL и предоставляет openssl.exe
вы можете запустить, хотя он может не быть в обычном пользовательском PATH
он находится в подкаталоге bin/
установки Apache.
Если у вас LogLevel "info" или выше, Apache запустит версии mod_ssl и OpenSSL при запуске. Начиная с 6.0.36, Tomcat6 делает то же самое (ошибка # 53057).
Изучить, какие DLL загружен запущенным процессом, Process Explorer удобно, к сожалению, хотя кажется, что обычная бинарная ссылка распространения Tomcat OpenSSL (и более) в одну DLL (tcnative-1.dll
), а не легко идентифицируемую (и заменяемую) ) libssl.dll
/libcrypto.dll
(или аналогичный), как это принято в * nix системах. (Этот анализ будет работать на Apachehaus Apache httpd.)
Тогда довольно примитивный, но надежный способ - использовать find
(или строки, если она у вас уже есть) из cmd
строки:
cd \Program Files\apache-tomcat\bin
find "OpenSSL" tcnative-1.dll
[...]
TLSv1 part of OpenSSL 1.0.1d 5 Feb 2013
SSLv3 part of OpenSSL 1.0.1d 5 Feb 2013
SSLv2 part of OpenSSL 1.0.1d 5 Feb 2013
DTLSv1 part of OpenSSL 1.0.1d 5 Feb 2013
Process Explorer сообщит вам местоположение tcnative-1.dll
для работающего процесса tomcat6, если вы не можете легко его найти.
Чтобы подвести итог:
- проверьте
netstat -abn -p TCP
чтобы увидеть, что прослушивает 443 (или любой другой порт HTTPS, который вы используете)
- проверьте свой соединитель, чтобы узнать, предоставляет ли Tomcat протокол SSL и каким образом
- проверьте версию своего веб-сервера и конфигурацию HTTPS