Contenu | Rechercher | Menus

Annonce

Ubuntu-fr vend de superbes t-shirts et de belles clés USB 32Go
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/08/2019, à 10:56

aziidok

VirtualHost avec nom de domaine ne fonctionne pas

Bonjour, je viens en aide après avoir déjà suivi toutes les directives des VirtualHosts d'Apache2, mais je ne trouve pas mon erreur. Pour expliquer la situation, un même serveur héberge deux sites web différents qui se doivent d'être accessible via deux nom de domaine différents, jusque là rien de compliqué, il suffit d'utiliser ServerName monnomdedomaine.blabla et fini. Sauf que justement non ! Quelque soit le nom de domaine que je renseigne, l'url me redirige toujours sur l'un des sites. J'ai séparé et mutualisé mes fichiers .coinf, rien n'y fait, le même problème persiste. Je m'en remets à vous car je ne trouve pas la solution que j'ai parfaitement pu faire marcher autrefois. Voici-ci joint mon fichier .conf :

<VirtualHost *:80>
        ServerName [url=http://www.monsite.fr]www.monsite.fr[/url]
        DocumentRoot /var/www/monsite
        <Directory /var/www/monsite>
                AllowOverride all
                Require all granted
        </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName panel.monsite.fr
  DocumentRoot "/var/www/panelmonsite"
  AllowEncodedSlashes On
  php_value upload_max_filesize 100M
  php_value post_max_size 100M
  <Directory "/var/www/panelmonsite">
    AllowOverride all
  </Directory>
</VirtualHost>

Remarque : Essayé un à un, les sites fonctionnent parfaitement, mais dès lors que les deux sont activés simultanément, un seul site devient accessible.


Modération : merci d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 07/08/2019, à 16:13)

Hors ligne

#2 Le 07/08/2019, à 17:31

jlmas

Re : VirtualHost avec nom de domaine ne fonctionne pas

Sépare tes fichiers, c'est plus propre

www.conf

<VirtualHost *:80>
        ServerName www.monsite.fr
        DocumentRoot /var/www/monsite
        <Directory /var/www/monsite>
                AllowOverride all
                Require all granted
        </Directory>
</VirtualHost>

panel.conf

<VirtualHost *:80>
  ServerName panel.monsite.fr
  DocumentRoot "/var/www/panelmonsite"
  AllowEncodedSlashes On
  php_value upload_max_filesize 100M
  php_value post_max_size 100M
  <Directory "/var/www/panelmonsite">
    AllowOverride all
  </Directory>
</VirtualHost>

puis active tes virtualhosts

sudo a2ensite www.conf
sudo a2ensite panel.conf
sudo systemctl reload apache2

* Debug

- Tu peux passer en mode nocache sur ton navigateur (Ctrl+Shift+I sur chromium par exemple)
- Tu peux vérifier que ton serveur porte bien les alias dns que tu désires

dig +short  www.monsite.fr ANY
dig +short panel.monsite.fr ANY

-Tu peux vérifier quel fichier est lu pour quel site avec la commande

sudo apachectl -S

ligne VirtualHost configuration:

Hors ligne

#3 Le 08/08/2019, à 00:23

aziidok

Re : VirtualHost avec nom de domaine ne fonctionne pas

J'ai à nouveau séparé mes fichiers de vhost, mais le problème persiste et pourtant, les VirtualHost sont bien détectés dans la configuration

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server panel.monsite.fr (/etc/apache2/sites-enabled/panel.conf:1)
         port 80 namevhost panel.monsite.fr (/etc/apache2/sites-enabled/panel.conf:1)
         port 80 namevhost monsite.fr (/etc/apache2/sites-enabled/monsite.conf:1)
                 alias www.monsite.fr

Que j'essaye d'accéder à www.monsite.fr ou monsite.fr, je finis toujours sur panel.monsite.fr, je ne trouve pas de solution.

Hors ligne

#4 Le 08/08/2019, à 07:46

bruno

Re : VirtualHost avec nom de domaine ne fonctionne pas

Bonjour,

Ta configuration est correcte.
Peux-tu tester la réponse HTTP avec curl :

curl -I http://monsite.fr

Il faut que tu vérifies le contenu des fichiers .htaccess dans tes deux dossiers racine.

Hors ligne

#5 Le 08/08/2019, à 10:50

aziidok

Re : VirtualHost avec nom de domaine ne fonctionne pas

bruno a écrit :

Peux-tu tester la réponse HTTP avec curl :

Je viens d'utiliser la commande curl sur les deux nom de domaines des deux fichiers vhost que j'ai, pour l'url panel.monsite.fr, j'obtiens :

HTTP/1.1 302 Found
Date: Thu, 08 Aug 2019 09:40:36 GMT
Server: Apache/2.4.29 (Ubuntu)
Cache-Control: no-cache, private
Location: http://panel.monsite.fr/auth/login
Set-Cookie: pterodactyl_session=eyJpdiI6IlwvUlNOOHNNVCtFdE1JUkhYQ2RSamVnPT0iLCJ2YWx1ZSI6ImVOdlgzYVQ4dVlmU2w5QkFlZExpdnlMcHlrcWpkaUE5Z1wvTjdaMER4Y2RSQ3NUUUxKVFR4THVvSFpHbENQWUQyIiwibWFjIjoiMDA0MDQ1Y2E2MTg0ODFmMjQzYTNlODk5MjY5ZDZkOGQyMTJmZThmODc5OTJjZGQ3ZmUxMzIzNzY1YjQyNDljMSJ9; expires=Thu, 15-Aug-2019 09:40:37 GMT; Max-Age=604800; path=/; httponly
Content-Type: text/html; charset=UTF-8

Et pour mon http://monsite.fr, j'obtiens :

HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Aug 2019 09:40:45 GMT
Server: Apache/2.4.29 (Ubuntu)
X-Redirect-By: WordPress
Location: http://MON-IP-PUBLIQUE/
Content-Type: text/html; charset=UTF-8

Donc j'en déduis que la configuration du vhost à bien fonctionné, toutefois, quand je rentre monsite.fr, je suis amené sur panel.monsite.fr.

bruno a écrit :

Il faut que tu vérifies le contenu des fichiers .htaccess dans tes deux dossiers racine.

Concernant les fichiers .htaccess, je n'en n'ai qu'un seul qui se situe dans le dossier de website. Voici son contenu :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Je tiens à préciser une petite chose, qui probablement vous aidera à y voir l'erreur, le serveur se situe derrière un pfsense. Pour éviter des problèmes de DNS justement, je n'ai pas activé dessus le DNS Resolver pour laisser Apache se débrouiller grâce au ServerName.

Dernière modification par aziidok (Le 08/08/2019, à 10:51)

Hors ligne

#6 Le 08/08/2019, à 13:02

bruno

Re : VirtualHost avec nom de domaine ne fonctionne pas

C'est normal. Pour http://monsite.fr curl montre que tu as une redirection permanente (301) vers http://MON-IP-PUBLIQUE/

Si tu fais une requête sur ton serveur avec l'IP ublique c'est l'hôte virtuel par défaut qui est utilisé, dans ton cas : panel.conf.

Il faut que tu trouves où est configurée cette redirection permanente de monsite.fr vers ton IP publique (vhost, .htaccess, autre fichier de configuration apache, etc.)

Hors ligne

#7 Le 08/08/2019, à 13:32

jlmas

Re : VirtualHost avec nom de domaine ne fonctionne pas

aziidok a écrit :

Et pour mon http://monsite.fr

Tu arrives bien sur ton serveur :

Server: Apache/2.4.29 (Ubuntu)

C'est wordpress qui te fais la redirection vers ton ip publique je suppose

HTTP/1.1 301 Moved Permanently
X-Redirect-By: WordPress
Location: http://MON-IP-PUBLIQUE/

Plusieurs idées :

Wordpress se base sur le nom DNS ou l'adresse IP entrée dans le siteurl  lors de l’installation du site via l'interface web d'installation

http://mon-serveur-wordpress/wp-admin/install.php

Il est préférable de mettre un nom DNS, plutôt qu'une adresse IP, car wordpress écrit les liens en dur dans la base de donnée... Ben oui !

Je regarderais ou referait la configuration de wordpress via l'url d'installation. C'est à mon avis là que le bât blesse

Edit :

bruno a écrit :

Si tu fais une requête sur ton serveur avec l'IP ublique c'est l'hôte virtuel par défaut qui est utilisé, dans ton cas : panel.conf.

Tout à fait exact, j'avais perdu de vue ce point,

Dernière modification par jlmas (Le 08/08/2019, à 13:38)

Hors ligne

#8 Le 08/08/2019, à 14:57

aziidok

Re : VirtualHost avec nom de domaine ne fonctionne pas

Le problème est que je n'utilise pas mon adresse IP publique pour me connecter au site Wordpress, j'utilise bien le nom de domaine. Je viens de supprimer intégralement mon système Ubuntu et de le faire, mais encore une fois le problème persiste, je pensais que cela pouvait venir du mod rewrite, mais rien n'y a changé. Dans la réinstallation de Wordpress, j'ai bien utilisé le nom de domaine pendant celle-ci, désormais je ne peux accéder qu'au site Wordpress et plus à mon panel. La réponse de curl me renvoi désormais :

monsite.fr

HTTP/1.1 200 OK
Date: Thu, 08 Aug 2019 13:55:32 GMT
Server: Apache/2.4.29 (Ubuntu)
Link: <http://www.monsite.fr/wp-json/>; rel="https://api.w.org/"
Content-Type: text/html; charset=UTF-8

panel.monsite.fr

HTTP/1.1 302 Found
Date: Thu, 08 Aug 2019 13:57:00 GMT
Server: Apache/2.4.29 (Ubuntu)
Cache-Control: no-cache, private
Location: http://panel.monsite.fr/auth/login
Set-Cookie: pterodactyl_session=eyJpdiI6ImxLbDVSRlNMY3hsNnpVVjM5YmRHZ3c9PSIsInZhbHVlIjoiUWNIdTB5UllKalwvWFpZT2pLdnlEcVB1MzhSUnVEMnExWENsWFc2Qkd3NVRiZEpZYzFyVlEwUnVJM0lvZHJISWYiLCJtYWMiOiI4NmQxOGM2Zjc1NmM3OGQ5ZWE2Nzg2YjVhMzVlNzRhZjQ5NmFlZDI4ZmYyM2E3ODAxNTZjZTk2NzY0NzNhNmZiIn0%3D; expires=Thu, 15-Aug-2019 13:57:00 GMT; Max-Age=604800; path=/; httponly
Content-Type: text/html; charset=UTF-8

Désormais, quelque soit le nom de domaine que je saisi, je termine toujours sur monsite.fr

Hors ligne

#9 Le 08/08/2019, à 15:36

aziidok

Re : VirtualHost avec nom de domaine ne fonctionne pas

Après avoir consulter avec un ami, celui ci arrive parfaitement à communiquer avec les deux sites avec leur nom de domaine respectif, dans l'absurdité, j'ai pris mon téléphone pour essayé et effectivement, je peux parfaitement consulter les deux sites avec leur nom de domaine. Complètement abasourdi et stupéfié, je décide d'ouvrir une page de navigation privée, et cette fois ci bonheur, cela fonctionne. Je n'arrive pas à expliquer pourquoi en navigation normale cela ne fonctionne pas, je suis sur Firefox et je n'avais jamais rencontré de tel problème auparavant.

Hors ligne

#10 Le 08/08/2019, à 15:52

jlmas

Re : VirtualHost avec nom de domaine ne fonctionne pas

Problème de cache de ton navigateur.
Quand je fais ce genre de test, je travaille sans le cache du navigateur (Ctrl+Shift+i sous Chromium-browser : Outils de développement). D'ailleurs si quelqu'un sait comment naviguer sans le cache de manière permanente (sans appuyer sur shift tout le temps) sous Firefox, ce serait sympa.

Tes virtualhosts fonctionnait bien puisque les retours de curl étaient corrects

Link: <http://www.monsite.fr/wp-json/>; rel="https://api.w.org/"

Qui est ce que l'on obtient entres autres d'un Wordpress fonctionnel

HTTP/1.1 302 Found
Location: http://panel.monsite.fr/auth/login

Et un redirect temporaire (code HTTP 302) effectué par panel vers l'url d'authentification du service

Donc tout va bien

Dernière modification par jlmas (Le 08/08/2019, à 15:54)

Hors ligne

#11 Le 08/08/2019, à 16:09

bruno

Re : VirtualHost avec nom de domaine ne fonctionne pas

Dans tous les navigateurs : Ctrl+F5 force le rechargement de la page sans utiliser le cache.
Dans Firefox c'est pareil que Chromium : Ctrl+Maj+I > icône … à droite > Paramètres > Paramètres avancés : Désactiver le cache HTTP (lorsque la boîte à outil est ouverte)

Hors ligne

#12 Le 08/08/2019, à 16:28

aziidok

Re : VirtualHost avec nom de domaine ne fonctionne pas

Suite à cela, je viens de vider le cache de mon Firefox et je peux enfin accéder à mes deux sites sans utiliser de navigation privée.

Résultat : J'ai supprimé un système Ubuntu, deux sites web et une base de données pour quelque chose qui devait fonctionner parfaitement depuis le début. Je suis CONTENT big_smile

Hors ligne

#13 Le 08/08/2019, à 16:32

bruno

Re : VirtualHost avec nom de domaine ne fonctionne pas

Non cela ne fonctionnait pas depuis le début et le cache du navigateur n'était pas en cause au départ. Mais bien une redirection foireuse.
Je rappelle le résultat de curl en #5 :

HTTP/1.1 301 Moved Permanently
Date: Thu, 08 Aug 2019 09:40:45 GMT
Server: Apache/2.4.29 (Ubuntu)
X-Redirect-By: WordPress
Location: http://MON-IP-PUBLIQUE/
Content-Type: text/html; charset=UTF-8

Hors ligne