Веб-сервер Apache и JBoss AJP с поддержкой https
Мы размещаем приложение Java EE, работающее на JBoss. По соображениям безопасности это приложение, которое должно быть доступно в Интернете, защищено внешним сервером Apache. Мы используем AJP, чтобы включить это.
Это работает нормально, когда мы получаем доступ к приложению через http. Когда мы пытаемся сделать это с помощью https, он не работает, мы получаем ошибку 404 при доступе к приложению Java EE. Мы разместили SSL-сертификаты на сервере Apache.
2 ответа
Цитата из community.jboss.org
Поддержка шифрования и SSL
Протокол AJP не зашифрован, поэтому его не следует использовать с инфраструктурой общедоступной сети. В случае, если существует необходимость в защите передачи данных между веб-сервером и сервером приложений, потому что внешний носитель может быть перехвачен внешним миром, необходимо использовать какой-либо туннель SSL. Другой вариант - использовать протокол https с mod_proxy. Однако использование протокола https делает вещи немного более сложными, поскольку необходимо обеспечить создание настраиваемого фильтра на сервере приложений, чтобы клиентские сертификаты прозрачно передавались на сервер приложений. Протокол AJP, с другой стороны, обрабатывает это автоматически, но с передачей дешифрованных данных между веб-сервером и сервером приложений. По сути, для SSL протокол AJP ведет себя как кеширующий ускоритель SSL. Это обеспечивает гораздо более высокую производительность, поскольку данные расшифровываются только один раз. Защита сети между веб-сервером и сервером приложений с использованием другой сетевой карты и набора брандмауэров и маршрутизаторов является наиболее безопасным решением. Еще один вариант - поместить веб-сервер и сервер приложений в один и тот же физический блок, и в этом случае будет использоваться обмен данными в памяти, что повысит безопасность всей системы.
SSL на apache обычно включается с использованием отдельного виртуального хоста (vhost). Вы включили и настроили mod_jk
(mod_proxy_ajp/mod_cluster
) для этого vhost?