ОК
Итак, я установил Apache httpd
некоторое время назад и недавно вернулся к нему, чтобы попробовать установить SSL и заставить его обслуживать несколько разных серверов tomcat.
В настоящий момент у меня есть два полностью отдельных экземпляра Tomcat, обслуживающих несколько разных версий (один для dev и один для демонстрации), мое веб-приложение для двух разных портов:
-
example.com:8081
-
example.com:8082
Я успешно (назад в январе) использовал mod_jk
, чтобы получить httpd
, чтобы обслуживать те же экземпляры Tomcat до http://www.example.com:8090/dev
и http://www.example.com:8090/demo
(8090 cos. У меня есть другое приложение, работающее на 8080 через Jetty at этот этап), используя следующий код в httpd.conf
:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
<VirtualHost *:8090>
JkMount /devd* tomcatDev
JkMount /demo* tomcatDemo
</VirtualHost>
То, что я не пытаюсь сделать, это включить SSL.
Я добавил следующее в httpd.conf
:
Listen 443
<VirtualHost _default_:443>
JkMount /dev* tomcatDev
JkMount /demo* tomcatDemo
SSLEngine on
SSLCertificateFile "/opt/httpd/conf/localhost.crt"
SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>
Но когда я пытаюсь перезапустить Apache с помощью apachectl restart
(да, после закрытия этого другого приложения, о котором я упоминал, он не играет с https-соединениями), я постоянно получаю ошибку:
Неверная команда "SSLEngine", возможно, с ошибкой или определена модулем, не включенным в конфигурацию сервера. httpd не работает, пытается запустить
Я посмотрел в директории httpd/modules
и действительно нет mod_ssl
, только mod_jk.so
и httpd.exp
.
Я попытался использовать yum для установки mod_ssl
, он говорит, что он уже установлен. Действительно, я могу найти mod_ssl.so
в /usr/lib/httpd/modules
, но это НЕ путь к тому, где я установил httpd
, который является /opt/httpd
, и на самом деле /usr/lib/httpd
содержит ничего, кроме modules
dir.
Может ли кто-нибудь сказать мне, как правильно установить mod_ssl
для моего установленного местоположения httpd
, чтобы я мог пройти мимо этой ошибки?