Назад | Перейти на главную страницу

Apache mod_jk обслуживает JSP через HTTP, но не может сервер JSP через протокол HTTPS?

Я запускаю приложение на JBoss4.0.3 (используя Tomcat AJP на портах 8009 и 8443), и я просто настраиваю сервер Apache HTTPS, который прослушивает порт 443 и 80. Все работает нормально через порт 80: кажется, что Apache обрабатывает JSP страницы, обрабатываемые Tomcat через соединение AJP. С другой стороны, если я обращаюсь к своему серверу по протоколу HTTPS (443), Apache будет обслуживать только собственное статическое содержимое и не будет знать о приложении JSP. Как будто AJP не работает, когда Apache обслуживает порт 443.

Кто-нибудь может дать совет по этому поводу?

Вот мои параметры SSL в файле httpd-ssl.conf:

SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire +StdEnvVars

Кроме того, после включения mod_proxy и mod_proxy_ajp размещение этого в моем httpd-ssl.conf приведет к тому, что мой сервер не сможет запуститься:

<VirtualHost _default_:443>
.......
<Location>
    ProxyPass ajp://localhost:8009/
</Location>
.......

AJP не является зашифрованным протоколом; нет причин использовать больше, чем просто слушатель 8009. (ваш +ExportCertData будет кормить tomcat информацию о сертификате, когда это сеанс SSL)

Нам нужно увидеть ваш полный список, чтобы понять, почему он не работает, а не только SSLOptions; что-нибудь полезное в Apache error.log (вероятно, под /var/log/apache2) тоже было бы хорошо. Что касается фрагмента, из-за которого сервер не запускается, попробуйте следующее:

<Location />
    ProxyPass ajp://localhost:8009/
    ProxyPassReverse ajp://localhost:8009/
</Location>