Гаразд
Тож я встановив Apache httpdдеякий час тому, і нещодавно повернувся до нього, щоб спробувати налаштувати SSL і змусити його обслуговувати кілька різних серверів tomcat.
На даний момент у мене є два повністю окремі екземпляри Tomcat, які обслуговують дещо різні версії (одну для розробників та одну для демонстраційних версій) мого веб-додатку до двох різних портів:
example.com:8081example.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папку і справді немає 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щоб я міг пройти цю помилку?
mod_ssl.soвідсутня. Виявляється, це окремо від базової установки і знаходилося під пакункомmod_sslу яслах пакету yum. Завантажено за допомогою,yum install mod_sslпотім воно з’явилося вmodulesпапці.