62 votes

Erreur Apache: chevauchement de l'hôte virtuel _default_ sur le port 443

Je reçois cette erreur en essayant de démarrer Apache.

chevauchement de l'hôte virtuel _default_ sur le port 443

J'essaie de configurer SSL. Presque toutes les solutions en ligne ajoutent:

 NameVirtualHost *:443
 

au fichier de configuration, mais Apache ne parvient toujours pas à démarrer et dit juste

Le démarrage de l'action a échoué. les journaux apache peuvent avoir plus d'informations

Il n'y a aucune information dans les journaux Apache.

113voto

Daniel Sokolowski Points 2207

Pour résoudre le problème sur une Debian/Ubuntu système de modifier l' /etc/apache/ports.conf fichier de paramètres de l'ajout d' NameVirtualHost *:443 . Mon ports.conf est la suivante pour le moment:

# /etc/apache/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

    NameVirtualHost *:443

    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>

En outre s'assurer que les sites des disponnible/default-ssl' n'est pas activé, tapez a2dissite default-ssl pour désactiver le site. Pendant que vous à ce type d' a2dissite par elle-même pour obtenir une liste et voir si il y a d'autre paramètres du site que vous avez activé que pourrait être la cartographie sur le port 443.

33voto

oarevalo Points 500

Sur une vanille Apache2 installer CentOS, lorsque vous installez mod_ssl il va automatiquement ajouter un fichier de configuration dans:

{apache_dir}/conf.d/ssl.conf

Ce fichier de configuration contient un hôte virtuel par défaut de définition pour le port 443, nommé par défaut:443. Si vous aussi vous avez votre propre définition des serveurs virtuels pour 443 (c'est à dire dans httpd.conf) alors vous aurez un confict. Depuis la conf.d fichiers sont inclus tout d'abord, ils vont gagner le plus de la vôtre.

Pour résoudre le conflit, vous pouvez soit supprimer la définition des serveurs virtuels à partir d' conf.d/ssl.conf ou de mettre à jour vos propres paramètres.

13voto

larsks Points 23184

Il est très peu probable que l'ajout d' NameVirtualHost *:443 est la bonne solution, parce qu'il y a un nombre limité de situations dans lesquelles il est possible de soutenir des serveurs virtuels par nom sur SSL. Lisez ceci et cela pour quelques détails (il y a peut être mieux docs là; ce sont tout simplement ceux que j'ai constaté que de discuter de la question en détail).

Si vous êtes en cours d'exécution est relativement stock de configuration d'Apache, vous avez probablement ce quelque part:

<VirtualHost _default_:443>

Votre meilleur pari est de:

  • Placez votre configuration SSL existant VirtualHost conteneur, ou
  • Commentez toute cette VirtualHost bloc et en créer un nouveau. N'oubliez pas d'inclure toutes les options SSL.

3voto

Mike Points 5108

Je suis tombé sur ce problème, car j'ai eu plusieurs les entrées génériques pour les mêmes ports. Vous pouvez facilement le vérifier en exécutant apache2ctl -S:

# apache2ctl -S
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 30000, the first has precedence
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 20001, the first has precedence
VirtualHost configuration:
11.22.33.44:80       is a NameVirtualHost
         default server xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
         port 80 namevhost xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
         [...]
11.22.33.44:443      is a NameVirtualHost
         default server yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
         port 443 namevhost yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
wildcard NameVirtualHosts and _default_ servers:
*:80                   hostname.com (/etc/apache2/sites-enabled/000-default:1)
*:20001                hostname.com (/etc/apache2/sites-enabled/000-default:33)
*:30000                hostname.com (/etc/apache2/sites-enabled/000-default:57)
_default_:443          hostname.com (/etc/apache2/sites-enabled/default-ssl:2)
*:20001                hostname.com (/etc/apache2/sites-enabled/default-ssl:163)
*:30000                hostname.com (/etc/apache2/sites-enabled/default-ssl:178)
Syntax OK

Remarquez comment, au début de la sortie sont un couple d'avertissement lignes. Ces indiquera quels sont les ports de la création de la problèmes (mais vous le saviez sûrement déjà).

Ensuite, regardez à la fin de la sortie et vous pouvez voir exactement quels fichiers et les lignes de la des hôtes virtuels sont définis que sont la création du problème. Dans l'exemple ci-dessus, port 20001 est attribué à la fois, en /etc/apache2/sites-enabled/000-default sur la ligne 33 /etc/apache2/sites-enabled/default-ssl sur la ligne 163. De même, *:30000 est listé dans 2 endroits. La solution (dans mon cas) est simplement de supprimer l'une des entrées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X