Я запускаю приложение на 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>