1 votes

Problème de configuration d'Apache Mass Virtual Host

J'ai une instance Amazon ec2 avec LAMP installé. J'ai édité /etc/apache2/sites-available/000-deault.conf et ajouté ceci :

<VirtualHost *:80>
        ServerAlias *
        UseCanonicalName Off
        LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
        CustomLog /var/log/apache2/access.log vcommon
        VirtualDocumentRoot /var/www/vhosts/%0
</VirtualHost>

Listen 443
<VirtualHost *:443>
        ServerAlias *
        UseCanonicalName Off
        LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
        CustomLog /var/log/apache2/access.log vcommon
        VirtualDocumentRoot /var/www/vhosts/%0
</VirtualHost>

Lorsque je visite mes noms de domaine, ils pointent vers le bon répertoire et tout fonctionne bien sauf une chose... lorsque je visite les domaines avec www. il donne cette erreur :

"Non trouvé

L'URL demandé / n'a pas été trouvé sur ce serveur".

Ma structure de répertoire est /var/www/vhosts/domain.com sans le www. - cela pourrait-il être le problème et si oui, que puis-je faire pour le résoudre sans ajouter les répertoires domain.com et www.domain.com ?

1voto

Esa Jokinen Points 41064

Vous pourriez utiliser ceci VirtualDocumentRoot à la place :

VirtualDocumentRoot "/var/www/vhosts/%-2.0.%-1.0"

Ainsi, tous les sous-domaines (y compris www.example.com ) indiquent /var/www/vhosts/example.com aussi.

BTW, si c'est votre seul/premier hôte virtuel (sur chaque port), vous ne devriez pas avoir besoin de ServerAlias * Si aucun autre virtualhost correspondant n'est trouvé, le virtualhost par défaut est utilisé de toute façon.

0voto

CorTheZ Points 63

Votre configuration a

UseCanonicalName Off

CannonicalName est un type d'entrée DNS.

servername.com est un DNS de type A

www.servername.com est un DNS de type CNAME, redirigeant vers un DNS de type a servername.com

Par défaut, UseCanonicalName est désactivé, supprimez les lignes du fichier de configuration et rechargez/redémarrez le service apache avec

systemctl restart apache2

Il est recommandé de configurer ServerName et ServerAlias, afin de renvoyer le code 200 et la page web uniquement si les DNS correspondent.

Nom du serveur nom_serveur.com

ServerAlias www.servername.com ww2.servername.com


La ligne Listen 443 n'est pas nécessaire dans ce fichier de configuration, placez-la dans /etc/apache2/apache2.conf

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