Ok
Итак, я установил 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, потому что у меня есть другое приложение, работающее на 8080 через Jetty в этот этап), используя следующий код в 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
dir и действительно нет 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
, чтобы я мог обойти эту ошибку?