Как установить 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 56

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 здесь.

попробуйте установить mod_ssl, используя следующую команду:

yum install mod_ssl

а затем перезагрузите и перезапустите сервер Apache, используя следующие команды:

systemctl reload httpd.service
systemctl restart httpd.service

Это должно работать для большинства случаев.