1 votes

SSL VirtualHost n'utilise pas DocumentRoot

J'essaie de mettre en place un certificat SSL auto-signé entre mon propre VPS et Cloudflare (à côté de SSL complet ). J'utilise pour cela les VirtualHosts suivants :

<VirtualHost *:80>
        ServerName domain.com
        Redirect permanent / https://www.domain.com/
</VirtualHost>

<VirtualHost *:443>
        ServerName www.domain.com
        DocumentRoot /var/www/public/www

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>

Mais chaque fois que j'essaie d'accéder à domain.com, il me renvoie un message de type 403 Forbidden et j'obtiens l'erreur suivante dans mes logs apache2 :

[Fri Jan 30 00:19:23 2015] [error] [client (ip)] Directory index forbidden by Options directive: /var/www/public/

Cela signifie qu'il tente d'accéder au DocumentRoot par défaut, tel qu'il a été défini dans le fichier apache2.conf :

ServerAdmin server@domain.com
DocumentRoot /var/www/public

Il convient de noter qu'il fait fonctionne lorsque je change le port du second VirtualHost en 80 et que je commente les 3 lignes concernant SSL.

Ma question est donc la suivante : pourquoi n'utilise-t-on pas le DocumentRoot que j'ai spécifié dans le VirtualHost ( *:433 ) ?

EDIT

Lorsque je mets Cloudflare en pause et que j'accède à https://www.domain.com Je peux y accéder (bien sûr avec un avertissement car le certificat est auto-signé). Alors peut-être que cela a quelque chose à voir avec Cloudflare ?

3voto

Indigo Points 2103

Je pense que vous devez activer NameVirtualHost pour le port SSL.
Cela peut être fait en éditant le fichier /etc/apache2/ports.conf.
Vous pouvez y voir la configuration du port 80 :

NomHôte virtuel *:80
Écouter 80

Vous pouvez également voir les balises IFmodule mod_ssl.c.
Par défaut, il ne devrait y avoir que "Listen 443" à l'intérieur des balises et vous devez simplement ajouter "NameVirtualHost *:443" au-dessus de la ligne "Listen 443". Je pense que cela devrait résoudre votre problème.

Apparemment, je n'ai pas la réputation nécessaire pour poster des images, alors voici : http://i.imgur.com/vGCEAGb.png

EDIT : N'oubliez pas de redémarrer Apache.

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