Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/03/2011, 09h01   #1
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Par défaut En https, le sous-domaine pointe vers le domaine principal. Pourquoi?

Bonjour à tous,

J'ai un domaine chez Bluehost. J'ai installé un certificat auto-signé qui a été installé avec un 'wildcard'. ça a fonctionné quelques semaines, mais il semble que j'ai dû 'cassé' quelque chose depuis.

Mon domaine est: domaine.info. J'ai créé un sous domaine: test.domaine.info

Si je saisis http://www.test.domaine.info => Firefox va au bonne en droit (public-html/test/)
Si je saisis https://www.test.domaine.info => Firefox va à la racine du domaine principal (public-html/)

Savez-vous pourquoi?

Merci.
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 14h30   #2
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
J'avance. En fait, c'est impossible d'après le support de Bluehost.

Mon but est en fait de masquer l'adresse réelle du forum. Si en réalité c'est:
htpps://www.domaine.info/test/SMF1113/index.php
je voudrais que l'utilisateur voit par exemple:
https://www.test.domaine..info/index.php

J'ai trouvé ça qui est pas mal mais ne fonctionne pas:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# handle domain root and skip subfolders
RewriteCond %{HTTP_HOST} www.domaine.info
RewriteCond %{REQUEST_URI} !^/test/SMF1113/
RewriteCond %{REQUEST_URI} \..+$
RewriteRule ^(.*)$ test/SMF1113/$1 [L]

# add trailing slash to subfolders (eg abc to: abc/)
RewriteCond %{HTTP_HOST} www.domaine.info
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1/ [L,R=301]

# handle files in subfolders
RewriteCond %{HTTP_HOST} www.domaine.info
RewriteCond %{REQUEST_URI} !^/test/SMF1113/
RewriteRule ^(.*)$ test/SMF1113/$1/ [L]
je vois en fait public_html/test/ et non public_html/test/SMF1113/ en http

et avec ça en plus:
Code :
1
2
3
#obligation https
#RewriteCond %{HTTPS} !=on
#RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
je vois en fait public_html/ et non public_html/test/SMF1113/ en https

Et ce que ça va fonctionner?
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 15h51   #3
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Pour récapituler, j'essaye de cacher l'URL réelle du forum. Avec tout simplement ça, ça fonctionne:

Code :
RewriteRule ^$ /SMF1113/$1 [QSA,L]
mais je voudrais que ça marche aussi en https car mon forum est entièrement en https.

Et là, ça ne va plus, j'arrive systématiquement à la racine du domaine.

Je me demande si ce que je cherche à faire est possible en https car ici, ils ont l'air de dire qu'on ne peut pas:
http://fr.w3support.net/index.php?db=so&id=917024

Citation:
Le problème est fondamental à la façon dont fonctionne HTTPS.

L'hébergement virtuel repose sur "l'hôte" en-tête HTTP/1.1 introduit. Cela fait partie du protocole HTTP, mais du point de vue du protocole SSL, la couche HTTP est "Application Data", et ne peut être transmis jusqu'à la négociation SSL a été achevée.

Toutefois, le certificat de serveur est présenté au cours de la poignée de main. Le serveur HTTP n'a pas vu "l'hôte" en-tête encore, il ne saurait pas le certificat à envoyer. L'aide d'une adresse IP distincte des œuvres, parce que c'est visible à la couche IP ci-dessous SSL.
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 16h52   #4
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
ça sa fonctionne en https:

Code :
1
2
3
4
5
6
7
Options +SymLinksIfOwnerMatch
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*)$ http://%{HTTP_HOST}%/test/SMF1113/{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} ^/
RewriteRule ^(.*)$ https://%{HTTP_HOST}/test/SMF1113%{REQUEST_URI} [R=301,L]
mais ça ne cache pas le lien réel de l'URL. ça affiche:
https://www.test.domaine.info/test/SMF1113/

Un pirate a vite fait de trouver que c'est:
https://www.domaine.info/test/SMF1113/
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 17h40   #5
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Peut-être avec un fichier php?

Comme ici pour cacher l'URL d'une fichier à télécharger:

http://www.kavoir.com/2009/05/php-hi...hp-script.html
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 06/03/2011, 18h10   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Si on ne travaille que sur HTTPS, afficher https://www.test.domaine.info/index.php à la place de https://www.domaine.info/test/SMF1113/index.php doit être faisable ainsi :
Code :
1
2
RewriteCond %{HTTPS} =on
RewriteRule ^(index\.php)?$ /test/SMF1113/index.php [L]
Après, je ne sais pas si on doit en déduire une règle générale et comment.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 18h35   #7
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
ça ne fonctionne pas.

L'URL dans la barre est https://www.test.diomaine.info/
mais ce qui s'affiche est en fait: https://www.domaine.info/
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 12h20   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Essaie d'ajouter ceci tout en haut de ton .htaccess :
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 20h07   #9
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
J'ai mis ça:

Citation:
Options -MultiViews
RewriteCond %{HTTPS} =on
RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]
Lorsque je me connecte à https://www.test.domaine.info/, je vois la racine du domaine https://www.domaine.info/ même si c'est écrit dans la barre: https://www.test.domaine.info/

donc ça ne va pas. Tu as d'autres idées?
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 22h25   #10
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Comprends pas trop ce qu'il se passe. Il n'y a que ces 3 lignes dans ton .htaccess ?

Essaie de remplacer la condition
Code :
RewriteCond %{HTTPS} =on
par
Code :
RewriteCond %{HTTP_HOST} ^www\.test\.diomaine\.info$
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 20h42   #11
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Je n'ai pas de bonne nouvelles: ça a le même comportement.
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 22h20   #12
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Citation:
Envoyé par _Mac_ Voir le message
Il n'y a que ces 3 lignes dans ton .htaccess ?
La question n'est pas très claire mais je m'attendais à ce que tu donnes le .htaccess complet
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 06h34   #13
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Désolé, je suis allé un peu vite hier soir.

A ce niveau: public_html/
=> pas de .htaccess pour effectuer mes essais

A ce niveau: public_html/
qui correspond à www.test.domaine.info (j'ai un créé un sous-domaine)
j'ai ça:
Code :
1
2
3
Options -MultiViews
RewriteCond %{HTTP_HOST} ^www\.test\.domaine\.info$
RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]
ça ne fonctionne pas:
L'URL dans la barre est https://www.test.diomaine.info/
mais ce qui s'affiche est en fait: https://www.domaine.info/

Merci pour l'aide. A bientôt.
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 22h30   #14
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
OK, je n'avais pas bien compris le problème. Ce qu'il se passe est parfaitement normal : avec mod_ssl, Apache ne sait pas quel site est demandé avant d'avoir établit le canal SSL, et pour établir ce canal SSL, Apache a besoin d'un certificat SSL. Jusqu'ici, c'est normal. Sauf que là, Apache n'a pas 36 solutions pour trouver le certificat SSL : le canal SSL n'est pas encore établi donc Apache n'a pas encore reçu l'en-tête Host, donc Apache ne sait pas quel site on demande. Donc Apache n'a pas d'autre choix que d'utiliser le premier certificat SSL qu'il trouve : celui du site www.domaine.info, et du coup, pour la suite, Apache reste sur ce virtual host, même si le navigateur en demande un autre. Ce problème est décrit dans la doc Apache mais en anglais. La conclusion c'est qu'avec mod_ssl standard, on ne peut pas avoir plusieurs virtual host utilisant le SSL sur un même couple (IP, port). Or, c'est ce que tu veux faire.

Là, si j'ai bien compris ce que tu as fais mais ce n'est pas ultra-clair, tu devrais avoir les moyens de t'en sortir car ton second VH est un sous-répertoire du document root du répertoire principal. Ce qu'il faut que tu fasses c'est tout simplement déplacer le .htaccess dans le répertoire racine du premier site www.domaine.info.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 19h40   #15
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Le but est que l'URL dans la barre ne ressemble pas à la structure des dossiers dans public_html.

J'ai donc ça dans le .htaccess de domaine.info :
Code :
1
2
3
Options -MultiViews
RewriteCond %{HTTP_HOST} ^www\.test\.domaine\.info$
RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]
Lorsque je clique sur:
https://www.test.domaine.info/
OU
https://www.domaine.info/
=> j'arrive sur htpps://www.domaine.info; pas dans test/SMF1113/

idem avec ce code
Code :
1
2
3
Options -MultiViews
RewriteCond %{HTTP_HOST} ^www\.domaine\.info$
RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 22h19   #16
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Tu n'as dit clairement si le .htaccess ne contenait que ces 3 lignes. Est-ce qu'il y a quelque part dans ton .htaccess la ligne suivante ?
Ajoute-la si elle n'y est pas.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 06h21   #17
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
Merci, ça fonctionne! J'avais complétement oublier le 'Rewrite on'

Au final, ça donne ça:
Code :
1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.test\.domaine\.info$
RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]
J'ai aussi ajouté ça pour obliger le https:
Code :
1
2
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
L'inconvénient, c'est que dois donner l'accès à tous les utilisateurs à la racine du domaine. Mais je pense que si je limite certains sous-dossiers, ça doit être OK

J'ai tout de même un soucis. Si j'accède à http://www.domaine.info, il va me deamander le mot de passe mais ce n'est pas encore en htppS. Donc ça passe en crypter. Puis il me demande de nouveau le mot de passe mais en https. Comment peut-on faire pour être immédiatement en htpps?
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 14h55   #18
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Citation:
Envoyé par syrinx75 Voir le message
Si j'accède à http://www.domaine.info, il va me deamander le mot de passe
Quel mot de passe ? Comment se fait l'authentification ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 16h54   #19
 
Inscription : mars 2011
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 24
Points : -3
Points : -3
J'ai mis un accès par mot de passe au domaine. Comme ça:

Code :
1
2
3
4
AuthType Basic
AuthName "public"
AuthUserFile "/home7/domaine/.htpasswds/public_html/passwd"
require valid-user
Si j'accède par http://www.domaine.info, j'ai le mot de passe "public" à saisir pour le http://www.domaine.info,
puis une 2e fois, le même mode passe pour "public" en httpS://www.domaine.info
syrinx75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 23h41   #20
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 278
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 278
Points : 8 565
Points : 8 565
Avec www.test.domaine.info, tu n'as pas cette double authentification quand tu demandes http://www.test.domaine.info ?

Je vais reposer encore une fois la question : peux-tu nous donner ton .htaccess en entier ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h34.


 
 
 
 
Partenaires

Hébergement Web