所以我剛纔安裝了Apache httpd
,最近回來給它試圖建立SSL得到它服務於幾個不同的Tomcat服務器。
目前我有兩個完全獨立的Tomcat實例服務了略有不同的版本(一個用於開發,一個用於演示說)我的web應用到兩個不同的端口:
example.com:8081
example.com:8082
我已經成功(一月後)用於mod_jk
獲得httpd
服務同樣的Tomcat實例來http://www.example.com:8090/dev
和http://www.example.com:8090/demo
(80 90只因爲我已經有了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連接後)我不斷得到錯誤:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration. httpd not running, trying to start
我看了在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
所以我可以通過這個錯誤?
在我的Apache安裝'mod_ssl.so'完全丟失。與yum軟件包管理器中的'mod_ssl'軟件包不同,它與基本安裝分開。使用'yum install mod_ssl'下載,然後它出現在'modules'文件夾中。 – 2016-03-01 23:30:37
我發現,在編譯我自己的apache 2之後,mod_ssl.so丟失了。需要重新編譯它,從頭開始。 – frumbert 2017-03-13 10:19:15