Как установить mod ssl для Apache httpd?
ОК
поэтому я установил Apache httpd
некоторое время назад и недавно вернулись к нему, чтобы попробовать настроить SSL и заставить его обслуживать несколько разных серверов tomcat.
на данный момент у меня есть два совершенно отдельных экземпляра Tomcat, обслуживающих несколько разные версии (один для dev и один для demo say) моего веб-приложения на два разных порта:
example.com:8081
example.com:8082
я успешно (в Января) используется mod_jk
и httpd
чтобы обслуживать те же экземпляры Tomcat для http://www.example.com:8090/dev
и http://www.example.com:8090/demo
(8090 потому что у меня есть еще одно приложение, работающее на 8080 через причал на этом этапе), используя следующий код в 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
реж.
может кто-нибудь сказать мне, как установить mod_ssl
правильно для моего установленного местоположения httpd
Так что я могу обойти эту ошибку?
3 ответа:
другие
LoadModule
команды, ссылающиеся на модули в/usr/lib/httpd/modules
папка? Если это так, вы должны быть в порядке, просто добавивLoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
в файле conf.в противном случае, вы хотите скопировать
mod_ssl.so
файл в любой каталог, из которого загружаются другие модули, и ссылаться на него там.
я обнаружил, что мне нужно включить модуль SSL в Apache (очевидно, префиксные команды с
sudo
Если вы не работаете как root):a2enmod ssl
затем перезапустите Apache:
/etc/init.d/apache2 restart
более подробная информация о SSL в Apache для Ubuntu / Debian здесь.