Как установить mod ssl для Apache httpd?
ОК
поэтому я установил Apache httpd некоторое время назад и недавно вернулись к нему, чтобы попробовать настроить SSL и заставить его обслуживать несколько разных серверов tomcat.
на данный момент у меня есть два совершенно отдельных экземпляра Tomcat, обслуживающих несколько разные версии (один для dev и один для demo say) моего веб-приложения на два разных порта:
example.com:8081example.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 здесь.