1 votes

Je ne peux pas redémarrer l'apace2 si j'ouvre le port SSL 443 dans le fichier `/etc/apache2/ports.conf` dans ubuntu 18.04LTS

Je rencontre un problème dans 18.04 Je veux configurer le SSL pour mon site web, donc j'édite le profil dans la section etc/apache2/ports.conf et ajoutez la ligne comme Listen 443 mais quand je le fais service apache2 restart le service apahce ne peut pas être redémarré mais il fonctionne très bien en 16.04 comme ça. Ensuite, je supprime la ligne Listen 443 et le service Apache fonctionne à nouveau..

C'est écrit : Job for apache2.service failed because the control process exited with error code.See "systemctl status apache2.service" and "journalctl -xe" for details.

journalctl -xe :

 ubuntu apachectl[2867]: AH00526: Syntax error on line 8 of /etc/apache2/ports.conf:
 ubuntu apachectl[2867]: Cannot define multiple Listeners on the same IP:port
 ubuntu apachectl[2867]: Action 'start' failed.
 ubuntu apachectl[2867]: The Apache error log may have more information.
 ubuntu systemd[1]: apache2.service: Control process exited, code=exited status=1
 ubuntu systemd[1]: apache2.service: Failed with result 'exit-code'.
 ubuntu systemd[1]: Failed to start The Apache HTTP Server.

La ligne 8 est juste ce que j'ajoute Cela fonctionne dans 16.04 si je fais la même chose, je veux savoir si quelque chose a changé dans 18.04 ?

0voto

pa4080 Points 27038

J'ai mené une petite enquête - oui, il y a un comportement différent entre les versions d'Apache2 fournies avec Ubuntu 16.04 et Ubuntu 18.04.

  • 16.04 est livré avec Apache/2.4.18 et le nombre de fois où vous répéterez des directives Listen identiques n'a aucune importance - j'ai testé cela sur une machine virtuelle.

  • 18.04 est livré avec Apache/2.4.29 であり documentation actuelle d'Apache2.4 est écrit :

    Condition d'erreur

    Des directives Listen multiples pour la même adresse IP et le même port entraîneront un message d'erreur "Address already in use".

Dans votre cas, la directive Listen 443 apparaît deux fois dans la configuration d'Apache. Selon ces nouvelles règles, il est donc normal de recevoir l'erreur ci-dessus.

Par défaut, dans les ports.conf la directive Listen 443 est joint à <IfModule> comme suit :

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

Cela signifie qu'il ne sera actif que lorsque mod_ssl (o mod_gnutls ) est activé. Ainsi, si vous avez activé mod_ssl vous n'avez pas besoin de mettre d'autres Listen 443 .


Vous pouvez rechercher combien de fois et où la directive Listen 443 apparaît dans votre configuration par la commande :

grep -rni 'listen 443' /etc/apache2/

Vous pouvez vérifier quels modules d'Apache sont activés par la ou les commandes :

sudo apachectl -M
sudo apachectl -M | grep 'ssl\|tls'

Vous pouvez vérifier si un service écoute le port 443 et quel est ce port à l'aide des commandes :

sudo lsof -i -n -P | grep ':443'
sudo netstat -peanut | grep ':443'

Pour en savoir plus : Comment sécuriser Apache avec Let's Encrypt .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X