IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

En https, le sous-domaine pointe vers le domaine principal. Pourquoi?


Sujet :

Apache

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    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.

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    Pour récapituler, j'essaye de cacher l'URL réelle du forum. Avec tout simplement ça, ça fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

    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.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    ça sa fonctionne en https:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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/

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    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

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    ç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/

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    J'ai mis ça:

    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?

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{HTTPS} =on
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    Je n'ai pas de bonne nouvelles: ça a le même comportement.

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  14. #14
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

  15. #15
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options -MultiViews
    RewriteCond %{HTTP_HOST} ^www\.domaine\.info$
    RewriteRule ^(index\.html)?$ /test/SMF1113/index.html [L]

  16. #16
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    Merci, ça fonctionne! J'avais complétement oublier le 'Rewrite on'

    Au final, ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  18. #18
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 1
    Points
    1
    Par défaut
    J'ai mis un accès par mot de passe au domaine. Comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  20. #20
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Sous-domaine pointe vers répertoire serveur
    Par yeste64 dans le forum Apache
    Réponses: 1
    Dernier message: 07/03/2013, 20h11
  2. Réponses: 1
    Dernier message: 16/10/2011, 22h13
  3. Rediriger domaine.tld vers www.domaine.tld
    Par tomaa dans le forum Apache
    Réponses: 2
    Dernier message: 02/02/2011, 12h04
  4. Réponses: 1
    Dernier message: 15/12/2009, 21h16
  5. Réponses: 6
    Dernier message: 12/11/2007, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo