У меня Apache настроен в качестве веб-сервера, а Tomcat подключен к Apache через mod_jk
, поэтому пользователь никогда не взаимодействует с Tomcat.
Я настроил SSL на Apache и могу подключиться к нему с помощью https://localhost
, но когда я пытаюсь получить доступ к своему приложению по адресу https://localhost/app
, я получаю directory not found
ошибку.
Проблема в том, что когда я использую обычный http, я могу нормально подключиться:http://localhost/app
Что мне нужно изменить, чтобы это соединение заработало?
- Я раскомментировал разъем AJP в
server.xml
- Я добавил свой виртуальный хост в
httpd.conf
Что я упускаю?
решение1
Apache считает http и https разными виртуальными серверами. Вы настроили обратный прокси под обоими виртуальными хостами?
решение2
вам нужно повторить настройку, которую вы имеете с http на https - вам не нужен соединитель ajp, если у вас есть соединитель http
посмотрите, как он настроен — вероятно, он выполняет прокси-проход или использует RewriteRule с P на конце, что является прокси.
решение3
Ваше определение для worker'ов может быть неверным. Проверьте workers.properties для типа work. Если ajp13, раскомментируйте ваш раздел ajp в tomcat, верните его в прежнее состояние. mod_jk обычно использует ajp13 в качестве типа.
решение4
Если вы используете mod_jk, вам понадобится коннектор AJP в Tomcat.
В большинстве случаев, если у воркера есть проблема с конфигурацией, Apache ответит ошибкой 500 (ошибка сервера). Если вы получите 404, это скорее всего связано с тем, что запрос не передается на сервер Tomcat (или URL-адрес недействителен с точки зрения Tomcat). Проверьте, присутствует ли JkMount и правильно ли он указан в вашей конфигурации Apache (для порта 443).
Для отладки проблем с mod_jk включите журналы отладки в mod_jk и посмотрите журналы Apache. Добавьте эти строки в конфигурацию mod_jk (jk.conf в целом):
Файл журнала Jk /var/log/apache2/mod_jk.log
Отладка JkLogLevel
При запуске вы должны увидеть некоторые журналы и некоторые интересные подробности по каждому запросу.
Я сделал такую настройку для Apache2 + SSL + JBoss. Другие подробности и советы по оптимизации вы найдете в Развертывание приложения J2EE на сервере Apache в производственной среде