Ok
J'ai donc installé Apache httpd
il y a quelque temps et y suis récemment revenu pour essayer de configurer SSL et de le faire servir à plusieurs serveurs Tomcat.
Pour le moment, j'ai deux instances Tomcat complètement distinctes, desservant des versions légèrement différentes (une pour dev et une pour démo, par exemple) de mon application Web sur deux ports différents:
example.com:8081
example.com:8082
En janvier, j’ai utilisé avec succès mod_jk
pour que httpd
serve les mêmes instances de Tomcat avec http://www.example.com:8090/dev
et http://www.example.com:8090/demo
(8090 car j’ai une autre application fonctionnant sur 8080 via Jetty à ce stade) en utilisant le code suivant dans 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>
Ce que je n'essaie pas de faire, c'est d'activer SSL.
J'ai ajouté ce qui suit à 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>
Mais lorsque j'essaie de redémarrer Apache avec apachectl restart
(oui, après avoir arrêté cette autre application que j'ai mentionnée, de sorte qu'elle ne joue pas avec les connexions https), j'obtiens continuellement l'erreur:
Commande 'SSLEngine' non valide, peut-être mal orthographiée ou définie par un module non inclus dans la configuration du serveur. httpd ne fonctionne pas, essaie de démarrer
J'ai regardé dans le répertoire httpd/modules
et en effet, il n'y a pas de mod_ssl
, seulement mod_jk.so
et httpd.exp
.
J'ai essayé d'utiliser yum pour installer mod_ssl
, il est déjà installé. En effet, je peux localiser mod_ssl.so
dans /usr/lib/httpd/modules
mais ce n’est PAS le chemin d’installation de httpd
qui est /opt/httpd
et en fait /usr/lib/httpd
ne contient que le répertoire modules
.
Quelqu'un peut-il me dire comment installer mod_ssl
correctement pour l'emplacement d'installation httpd
afin que je puisse contourner cette erreur?
D'autres commandes LoadModule
font-elles référence à des modules dans le dossier /usr/lib/httpd/modules
? Si c'est le cas, vous devriez juste ajouter LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
à votre fichier de configuration.
Sinon, vous voudrez peut-être copier le fichier mod_ssl.so
dans le répertoire à partir duquel les autres modules sont chargés et y faire référence.
J'ai constaté que je devais activer le module SSL dans Apache (préfixez évidemment les commandes avec Sudo
si vous n'exécutez pas en tant que root):
a2enmod ssl
puis redémarrez Apache:
/etc/init.d/Apache2 restart
Plus de détails sur SSL dans Apache pour Ubuntu/Debian ici .
Essayez d’installer mod_ssl en utilisant la commande suivante:
yum install mod_ssl
puis rechargez et redémarrez votre serveur Apache en utilisant les commandes suivantes:
systemctl reload httpd.service
systemctl restart httpd.service
Cela devrait fonctionner dans la plupart des cas.
J'ai utilisé
Sudo yum install mod24_ssl
et travaille dans mon AMI Amazon linux