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 :

Reverse proxy sur Apache 2 pour OWA 2007


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut Reverse proxy sur Apache 2 pour OWA 2007
    Bonjour à tous,
    je viens poster ici car après des dizaines d'heures passées sur ce problème, je n'arrive toujours à rien, et ce malgré des dizaines de config différente essayée.
    Je précise que j'ai longtemps chercher avant de poster, et sur ce forum également, mais rien ne correspond exactement à mon soucis/archi (j'ai vu d'autre topic sur le RP et les vhost mais rien exactement pareil).

    Pour résumer rapidement, je voudrais publier l'OWA de mon Exchange 2007 sur le net via un nom de domaine que nous avons crée pour l'occasion.
    Le petit schéma suivant vaut mille explications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    webmail.nomdomaine.fr --> IP-publique --> Netasq U250 --> RP Linux/Apache --> OWA 2007
        (http ou https)                  (http ou https)     (http ou https)       (https seulement)
    Donc quand on tape webmail.nomdomaine.fr la requête arrive sur le netasq qui porte l'IP publique, mais qui fait seulement une simple redirection des flux http/https vers un linux ou je voudrais faire tourner Apache en reverse proxy (RP). Apache redirigeant le flux http vers https, pour ensuite arriver uniquement en https sur l'OWA.

    Mon Linux est une Centos 5.5 final, kernel 2.6.18-194.11.4 et Apache 2.2.3.
    Je n'ai qu'une seule interface réseau (eth0) sur mon linux et il ne porte donc pas l'IP publique.

    J'ai trouvé mille config différentes pour Apache, des parties fonctionnent, mais pas d'autres, quelqu'un pourrait-il me renseigner?
    Voici ma conf Apache (résumé) :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <VirtualHost *:80>
        ServerName webmail.nomdomaine.fr
        ServerAlias webmail.nomdomaine.fr
     
        Redirect permanent / <a href="https://webmail.nomdomaine.fr/owa/" target="_blank">https://webmail.nomdomaine.fr/owa/</a>
    </VirtualHost>
     
    #<VirtualHost webmail.nomdomaine.fr:443>
    <VirtualHost *:443>
        ServerAdmin <a href="mailto:adminweb@nomdomaine.fr">adminweb@nomdomaine.fr</a>
        ServerName webmail.nomdomaine.fr
        ServerAlias webmail.nomdomaine.fr
     
        ErrorLog logs/webmail.nomdomaine.fr-error_log
        CustomLog logs/webmail.nomdomaine.fr-access_log common
     
        SSLEngine On
        SSLCertificateFile /etc/httpd/conf/certs/server.crt
        SSLCertificateKeyFile /etc/httpd/conf/private/server.key
     
        SSLProxyEngine On
        SSLProxyVerify none
        ProxyRequests Off
        SetEnv force-proxy-request-1.0 1
        SetEnv proxy-nokeepalive 1
        ProxyPreserveHost On
     
        <Proxy *>
            Order deny,allow
            Allow from all
        </Proxy>
     
        RequestHeader set Front-End-Https "On"
     
        Redirect permanent / <a href="https://webmail.nomdomaine.fr/owa/" target="_blank">https://webmail.nomdomaine.fr/owa/</a>
     
        ProxyPass /owa/ <a href="https://monexchange/owa/" target="_blank">https://monexchange/owa/</a>
        ProxyPassReverse /owa/ <a href="https://monexchange/owa/" target="_blank">https://monexchange/owa/</a>
     
        <Location /owa>
            Order deny,allow
            Allow from all
        </location>
     
        CacheDisable *
    </VirtualHost>
    J'ai aussi ajouté dans le fichier /etc/hosts la correspondance IP <-> monexchange
    J'ai aussi généré moi-même le certificat serveur directement, donc sans autorité de certification, donc même si j'ai un message comme quoi le certificat n'est pas valide, je bypass, on verra après pour en prendre un "vrai" publique.
    Pour info, l'OWA en interne fonctionne très bien, et avec une simple redirection de port du linux vers l'exchange avec réécriture de l'IP source ça marche aussi de l'extérieur, mais je voudrais faire mieux en terme de sécurité.

    J'ajoute que sans me taper la doc complète d'Apache, je suis tombé sur plusieurs articles/doc sur l'utilisation des virtualhost entre autres, et à priori je ne vois pas pourquoi ma conf ne fonctionnerait pas. Par contre, y'a plein d'options que j'ai repris sans étudier à fond, j'avoue que j'ai moyen envie et que ma conf n'est pas non plus hyper longue.

    La redirection http -> https fonctionne bien, mais pas le reste.
    En fait, après moults config incorrectes, celle-ci à l'air de fonctionner car dans les logs "access" j'ai ceci:
    194.xxx.xxx.xxx - - [12/Oct/2010:08:30:05 +0200] "GET /owa/ HTTP/1.1" 302 -
    194.xxx.xxx.xxx - - [12/Oct/2010:08:30:05 +0200] "GET /owa/auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0 HTTP/1.1" 200 8921

    Code erreur 302: move temporarly
    Code erreur 200: OK
    lol... en gros je sais pas pourquoi j'ai un 302, peut-être juste à cause du RP, mais en tout cas, ça a l'air de fonctionner! sauf qu'en fait ça charge mais rien ne s'affiche et la page reste en chargement... même pas de timeout!
    Par contre, je n'ai rien dans les error-log. Comprends pas.

    Merci d'éclairer ma lanterne, je deviens fou...
    Si ça continue je vais retourner aux redirection de ports mais ça sucks et en plus ça fonctionne pas super niveau perf.

    Merci d'avance!

  2. #2
    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 tu commentes tes deux lignes Redirect permanent, que tu vides le cache de ton navigateur et que tu testes en accédant directement à https://webmail.nomdomaine.fr/owa/, est-ce que ça marche mieux ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Je viens d'essayer ce que tu m'as dit mais ça fait toujours la même chose!
    Par contre, mon but est vraiment que l'utilisateur tape https://webmail.nomdomaine.fr/ et qu'il soit redirigé automatiquement vers /owa, déjà que ça va être dur de leur faire comprendre pour le "s" de https, c'est pour cela que j'ai mis toutes ces redirections.
    Mais bon effectivement, le enlever pour les tests est une bonne idée.

    Donc toujours mes 2 lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    194.xxx.xxx.xxx - - [12/Oct/2010:10:50:05 +0200] "GET /owa/ HTTP/1.1" 302 -
    194.xxx.xxx.xxx - - [12/Oct/2010:10:50:05 +0200] "GET /owa/auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0 HTTP/1.1" 200
    l'OWA est chiant, il rajoute toujours à l'URL le "url=https://webmail.nomdomaine.fr/owa/&reason=0" après "/owa/auth/logon.aspx?" sauf si on met directement "https://webmail.nomdomaine.fr/owa/auth/logon.aspx", mais même avec la redirection sur cette URL ça ne fonctionne pas j'ai essayé
    mon problème viendrait-il de là? dois-je utiliser une réécriture d'URL pour modifier toute chaine de "webmail.nomdomaine.fr" en "monexchange"?

    Pourtant je n'ai pas d'erreur et le code retour est bien 200....

    ps: désolé d'avoir oublié les balises codes sur mon 1er post, je voulais éditer mais tu l'as fait à ma place

  4. #4
    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
    OWA, c'est pas forcément bien fait pour être derrière un reverse proxy.

    Vu que le code HTTP sur GET /owa/auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0 est 200, c'est que le serveur est content, que tout va bien pour lui. En revanche, le code HTML qu'il a renvoyé peut ne pas aller. Tu peux donner le code HTML de la page affichée et qui ne marhce pas ? Regarde dedans s'il y a une URL qui n'est pas celle que tu attends.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Je viens de faire un tcpdump pour voir... le comportement des flux me semblent étranges, au niveau des protocoles :
    un coup c'est du SSL, un coup du SSLv2, ou du TLSv1 ou du HTTPS sur TCP... bon ptet que c'est normal...
    Edit: dans mon dump, j'ai un "Change Cipher Spec" donc à priori les changements de protocoles ne sont pas "anormaux"
    J'ai aussi remarqué une "Encrypted Alert" du RP Linux vers l'IP-Pub de mon accès Internet (navigateur d'ou je fais mes tests).

    Par contre le tcpdump ne me montre bien sûr pas le code source de la page web puisque c'est crypté, mais je ne sais pas comment l'avoir puisque justement, rien ne s'affiche sur ma page web.
    Quand je lance la requête sur mon url, dans la barre d'état de firefox j'ai : "Connexion à webmail.nomdomaine.fr" puis "Connecté" (un dixième de seconde après donc ça répond très vite) et après "En attente de..." et ça reste comme ça en chargement.

    Le code source de la page web obtenue en interne est :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    <!-- Copyright (c) 2006 Microsoft Corporation.  All rights reserved. -->
    <!-- OwaPage = ASP.auth_logon_aspx -->
    <!-- {57A118C6-2DA9-419d-BE9A-F92B0F9A418B} --> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; CHARSET=utf-8">
    <meta name="Robots" content="NOINDEX, NOFOLLOW">
    <title>Microsoft Exchange - Outlook Web Access</title>
    <link type="text/css" rel="stylesheet" href="/owa/8.3.83.4/themes/base/logon.css">
    <link type="text/css" rel="stylesheet" href="/owa/8.3.83.4/themes/base/owafont.css">
    <script type="text/javascript" src="/owa/8.3.83.4/scripts/premium/flogon.js"></script>
    
    <script type="text/javascript">
        <!--
        var a_fRC = 1;
        var g_fFcs = 1;
        var a_fLOff = 0;
        var a_fCAC = 1
    /// <summary>
    /// Is Mime Control installed?
    /// </summary>
    function IsMimeCtlInst(progid)
    {
        var oMimeVer = null;
    
        try 
        { 
            oMimeVer = new ActiveXObject(progid);
        } 
        catch (e)
        { 
        }
    
        if (oMimeVer != null)
            return true;
        else
            return false;
    }
    /// <summary>
    /// Render out the S-MIME control if it is installed.
    /// </summary>
    function RndMimeCtl()
    {
        if (IsMimeCtlInst("MimeBhvr.MimeCtlVer"))
            RndMimeCtlHlpr("MimeNSe2k3", "D801B381-B81D-47a7-8EC4-EFC111666AC0", "MIMEe2k3", "mimeLogoffE2k3");
    
        if (IsMimeCtlInst("OwaSMime.MimeCtlVer"))
            RndMimeCtlHlpr("MimeNSe2k7sp1", "833aa5fb-7aca-4708-9d7b-c982bf57469a", "MIMEe2k7sp1", "mimeLogoffE2k7sp1");
    }
    /// <summary>
    /// Helper function to factor out the rendering of the S/MIME control.
    /// </summary>
    function RndMimeCtlHlpr(objid, classid, ns, id)
    {
        document.write("<OBJECT id='" + objid + "' classid='CLSID:" + classid + "'></OBJECT>");
        document.write("<?IMPORT namespace='" + ns + "' implementation=#" + objid + ">");
        document.write("<" + ns + ":Logoff id='" + id + "' style='display:none'/>");
    }
        -->
    </script>
    </head>
    <body class="owaLgnBdy">
    <noscript>
        <div id="dvErr">
            <table cellpadding="0" cellspacing="0">
            <tr>
                <td><img src="/owa/8.3.83.4/themes/base/error.gif" alt=""></td>
                <td style="width:100%">Pour utiliser Microsoft Outlook Web Access, les paramètres du navigateur doivent autoriser l'exécution de scripts. Pour plus d'informations sur l'activation des scripts, consultez l'aide de votre navigateur. Si ce dernier ne prend pas en charge les scripts, vous pouvez télécharger <a href="http://www.microsoft.com/windows/ie/downloads/default.mspx">Microsoft Internet Explorer</a> pour accéder à Outlook Web Access.</td>
            </tr>
            </table>
        </div>
    </noscript>
    <form action="owaauth.dll" method="POST" name="logonForm" autocomplete="off">
    <input type="hidden" name="destination" value="https://monExchange/owa/">
    <input type="hidden" name="flags" value="0">
    <input type="hidden" name="forcedownlevel" value="0">
    <table align="center" id="tblMain" cellpadding=0 cellspacing=0>
        <tr>
            <td colspan=3>
                <table cellspacing=0 cellpadding=0 class="tblLgn">
                <tr>
                    <td class="lgnTL"><img src="/owa/8.3.83.4/themes/base/lgntopl.gif" alt=""></td>
                    <td class="lgnTM"></td>
                    <td class="lgnTR"><img src="/owa/8.3.83.4/themes/base/lgntopr.gif" alt=""></td>
                </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td id="mdLft">&nbsp;</td>
            <td id="mdMid">
                <table id="tblMid" class="mid">
                    <tr>
                        <td id="expltxt" class="expl">
                        </td>
                    </tr>
                    <tr><td><hr></td></tr>
                    <tr>
                        <td>
                            <table class="nonMSIE">
                            <col>
                            <col class="w100">
                            <tr id=trSec>
                                <td colspan="2">                                
                                    Sécurité 
                                        &#x200E;(
                                        <a href="#" id="lnkShwSec" onclick="clkExp('lnkShwSec')">
                                        afficher des explications 
                                        </a>
                                        <a href="#" id="lnkHdSec" onclick="clkExp('lnkHdSec')" style="display:none">
                                        Masquer l'explication 
                                        </a>
                                    )&#x200E;
                                </td>
                            </tr>                        
                            <tr>
                                <td><input id="rdoPblc" type="radio" name="trusted" value="0" class="rdo" onclick="clkSec()" checked></td>
                                <td><label for="rdoPblc">Cet ordinateur est public ou partagé.</label></td>
                            </tr>
                            <tr id="trPubExp" class="expl" style="display:none">
                                <td></td>
                                <td>Sélectionnez cette option si vous utilisez Microsoft Outlook Web Access sur un ordinateur public. Veillez à vous déconnecter lorsque vous avez fini d'utiliser Outlook Web Access et fermez toutes les fenêtres pour terminer votre session.</td>
                            </tr>
                            <tr>
                                <td><input id="rdoPrvt" type="radio" name="trusted" value="4" class="rdo" onclick="clkSec()"></td>
                                <td><label for="rdoPrvt">Cet ordinateur est privé.</label></td>
                            </tr>
                            <tr id="trPrvtExp" class="expl" style="display:none">
                                <td></td>
                                <td>Sélectionnez cette option si vous êtes la seule personne à utiliser cet ordinateur. Votre serveur va vous permettre une période plus longue d'inactivité avant de vous déconnecter.</td>
                            </tr>
                            <tr id="trPrvtWrn" class="wrng" style="display:none">
                                <td></td>
                                <td>Avertissement : si vous sélectionnez cette option, vous confirmez que cet ordinateur est conforme à la stratégie de sécurité de votre entreprise.</td>
                            </tr>
                            </table>
                        </td>
                    </tr>
                    <tr><td><hr></td></tr>
                    <tr>
                        <td>
                            <table class="nonMSIE">
                                <col>
                                <col class="w100">
                                    <tr>
                                        <td><input id="chkBsc" type="checkbox" class="rdo" onclick="clkBsc();" disabled checked></td>
                                        <td nowrap><label for="chkBsc">Utiliser Outlook Web Access Light</label></td>
                                    </tr>
                                    <tr id="trBscExp" class="disBsc">
                                        <td></td>
                                        <td>Le client léger propose moins de fonctionnalités et est parfois plus rapide. Utilisez-le lorsque vous disposez d'une connexion lente ou lorsque vous travaillez sur un ordinateur dont les paramètres de sécurité du navigateur sont inhabituellement stricts. Lorsque vous utilisez un navigateur autre qu'Internet Explorer version 6.0 ou ultérieure, vous avez uniquement accès au client léger.</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr><td><hr></td></tr>
                    <tr>
                        <td>
                            <table class="nonMSIE">
                                <col class="nowrap">
                                <col class="w100">
                                <col>
                                <tr>
                                    <td nowrap><label for="username">Nom d'utilisateur*:</label></td>
                                    <td class="txtpad"><input id="username" name="username" type="text" class="txt"></td>
                                </tr>
                                <tr>
                                    <td nowrap><label for="password">Mot de passe :</label></td>
                                    <td class="txtpad"><input id="password" name="password" type="password" class="txt" onfocus="g_fFcs=0"></td>
                                </tr>
                                <tr>
                                    <td colspan=2 align="right" class="txtpad">
                                        <input type="submit" class="btn" value="Se connecter" onclick="clkLgn()">
                                        <input name="isUtf8" type="hidden" value="1">
                                    </td>
                                </tr>
                            </table>
    
                        </td>
                    </tr>
                    <tr><td><hr></td></tr>
                </table>
                <table id="tblMid2" class="mid" style="display:none">
                    <tr><td><hr></td></tr>
                    <tr>
                        <td><br>Activez les cookies pour ce site Web.<br><br>Les cookies sont actuellement désactivés par votre navigateur. Outlook Web Access exige l'activation des cookies.<br><br>Si vous utilisez Microsoft Internet Explorer version 6 ou ultérieure, ouvrez Options Internet dans le menu Outils. Cliquez sur l'onglet Confidentialité, puis sur Sites. Tapez l'adresse d'Outlook Web Access dans le champ, cliquez sur Autoriser, puis sur OK pour enregistrer les modifications.<br><br><br></td>
                    </tr>
                    <tr><td><hr></td></tr>
                    <tr>
                        <td align="right" class="txtpad">
                            <input type="button" class="btn" style="float: right" value="Réessayer" onclick="clkRtry()">
                        </td>
                    </tr>
                </table>
                <table class="mid tblConn">
                    <tr>
                        <td rowspan=2 align="right" class="tdConnImg"><img style="vertical-align:top" src="/owa/8.3.83.4/themes/base/lgnexlogo.gif" alt=""></td>
                        <td class="tdConn">Connecté à Microsoft Exchange</td>
                    </tr>
                    <tr>
                        <td class="tdCopy">&copy; 2007 Microsoft Corporation. Tous droits réservés. </td>
                    </tr>
                </table>
            </td>
            <td id="mdRt">&nbsp;</td>
        </tr>
        <tr>
            <td colspan=3>
                <table cellspacing=0 cellpadding=0 class="tblLgn">
                <tr>
                    <td class="lgnBL"><img src="/owa/8.3.83.4/themes/base/lgnbotl.gif" alt=""></td>
                    <td class="lgnBM"></td>
                    <td class="lgnBR"><img src="/owa/8.3.83.4/themes/base/lgnbotr.gif" alt=""></td>
                </tr>
                </table>
            </td>
        </tr>
    </table>
    </form>
    </body>
    </html>
    Il n'y a qu'une référence à une URL (je l'ai mise en rouge dans le code), et c'est en fait l'URL que j'ai rentré dans mon navigateur. Je ne vois rien d'anormal.
    Pour info mon netasq fait de la prévension d'intrusion, mais j'ai désactivé le contrôle sur les flux HTTP et SSL. D'ailleurs, je ne vois rien passer dans les logs du netasq.

  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
    Le code source obtenu en interne ne nous dit pas quel est celui obtenu depuis l'extérieur. A mon avis, le champ "destination" garde l'URL interne et c'est pour ça que ça ne marche pas.

    Même si une page s'affiche en blanc, tu peux toujours faire un clic droit > Code source de la page. Essaie avec IE et FF.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Le code source obtenu en interne ne nous dit pas quel est celui obtenu depuis l'extérieur. A mon avis, le champ "destination" garde l'URL interne et c'est pour ça que ça ne marche pas.
    Oui je sais bien mais bon je l'ai mis quand même au cas où ça pourrait aider, en désespoir de cause on va dire.

    Citation Envoyé par _Mac_ Voir le message
    Même si une page s'affiche en blanc, tu peux toujours faire un clic droit > Code source de la page. Essaie avec IE et FF.
    bah en fait, je n'ai même pas de page blanche, donc il n'y a même pas de code source dispo, il est "connecté" au site mais rien ne vient, ça reste en chargement, je n'ai même pas les entêtes ni le début de la page... rien (ça reste "gris" au niveau du navigateur)

    Ce qui est bizarre c'est que le site répond bien mais y'a rien qui passe... bon, m'en vais refaire des tests avec de la réécriture pour voir.

    Merci pour tes réponses Mac!

  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
    Dans ce cas, il faut sniffer le trafic réseau avec Wireshark par exemple, pour savoir ce que le navigateur fait. Tu fais une capture et tu peux m'envoyer le fichier (URL par MP si ça ne tient pas dans le forum).

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    J'ai quelques news concernant mon problème:
    Comme ça marchait pas avec le "ProxyPass" et "ProxyPassReverse", j’ai testé le rewrite et là ça marche ... mais à moitié seulement ! uniquement pour l’ActiveSync (Iphone, Android…) mais pas pour owa.
    En fait c’est ultra bidon comme règle de rewrite et d’ailleurs ça marche plus vite qu’avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # Redirect / to /owa/
    RewriteRule  ^/$  https://webmail.nomdomaine.fr/owa/  [R]
     
    # Reverse Proxy all requests to internal exchange
    RewriteRule  ^/(.*)  https://monexchange/$1  [P]
    Avec ça, ça redirige exactement de la même façon et réécrit les url juste en changeant le début, donc "webmail.nomdomaine.fr" en "monexchange"

    Par contre, j’ai toujours la page qui n’arrive pas pour l’owa sur un navigateur, pourtant j’ai tjs le code http 200 dans les log.
    Vu que ça marche pour l’ActiveSync, je pense que c’est bien ce que je suspectais avant : l’URL qui est transformée par l’owa.
    En fait quand on tape https://webmail.nomdomaine.fr/owa l’owa rajoute tout seul à la fin de l’url « /auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0 » mais comme j'ai dit plus haut, le rewrite lui gère juste le début de l’url à savoir la transformation de « webmail.nomdomaines.fr » en « monexchange », donc soit le serveur, soit le RP ne comprend plus comment gérer le flux.
    Je sais pas trop d'où le problème vient (de quel côté) ni comment on réécrit toutes les occurrences d’une chaine de caractère dans une url donc je regarde de ce côté, je vais bien finir par trouver! Si quelqu'un sait comment faire pour rewriter comme cela, ça m'intéresse!

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    bon, j'ai continué mes investigations... nouvelle trouvaille (mais pourquoi j'avais jamais testé avant!!!) :
    j'ai testé sur mon réseau local d'accéder à https://ip-locale-RP-linux/owa/ et là... bingo ça marche! ma réécriture/reverse proxy fonctionne à merveille et tout fonctionne bien ensuite, je peux me logger, tout quoi!

    Donc il y a un problème entre mon (autre) navigateur/accès internet d'où je faisais mes tests et l'accès "public" par https://webmail.nomdomaine.fr/owa/
    Pourtant j'ai rien de plus ou de moins dans les logs (rewrite, access, error, autres...) que quand ça fonctionne... là franchement je sèche... une petite aide?

    J'accède à n'importe quel site en https ça y'a pas de souci, et surtout que quand je vide mon cache et dégage le certificat (exception) du navigateur, bah il m'affiche/redemande bien d'accepter le certificat de mon RP. c'est ensuite qu'il ne se passe plus rien...
    Je vois rien dans un tcpdump côté serveur exchange, RP ou client, mise à part un "bad checksum" (SSL ou TLS) mais dans ce cas il me peterait une erreur genre 500 ou 404 ou je sais pas quoi, mais là ça reste en "attente de webmail.nomdomaine.fr" (chargement quoi) mais j'ai même pas le début de la page web (aucun code source HTML reçu).

    pleasse hheelp !

  11. #11
    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
    Je viens de tester de chez moi, j'ai exactement le même comportement que toi, et honnêtement, je sèche totalement, je ne vois quel est le problème avec le SSL surtout que comme tu le dis, il faut valider le certificat

    Tu as eu le certificat SSL comment ? C'est possible de tester avec un autre certificat ?

    Ca donne quoi si tu commentes la ligne ProxyPreserveHost ?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    J'ai créer le certificat moi-même (auto-signé donc). Il est "seul", sans CA.
    Cette solution ne durera pas, on achètera sûrement un certificat certifié par une autorité de certification reconnue pour ne pas avoir de message d'alerte dans le navigateur mais bon, je voulais déjà tester.

    Je peux tester avec un autre certificat oui, je vais mettre celui de l'exchange directement pour voir.

    Je crois que j'avais essayé sans le ProxyPreserveHost mais je sais plus ce que ça fait. je vais réessayer pour te dire.
    Edit: oui donc sans ça, ça "réécrit" bien l'url avec "monexchange" donc ça marche depuis mon navigateur parce que c'est le nom interne donc le DNS connait, mais depuis mon smartphone par exemple ça marche pas bien sûr.

    Autre test justement à partir de mon smartphone (navigateur Android): il me pète bien l'erreur du certificat, je l'affiche, ok, je bypass, ok et là.... ça marche!!! je vois bien mon owa exchange avec toute l'url réécrite par l'owa (https://webmail.nomdomaine.fr/owa/au.../owa/&reason=0)
    Alors là... moi y en a pas comprendre ce qu'il se passe! Pourquoi là ça passe et pas depuis firefox/IE depuis mon PC! oouuuinnn
    En plus, j'ai exactement les même logs Apache quand j'accède depuis mon smartphone que quand j'essaye depuis mon PC fixe.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Toujours la même chose, l'ActiveSync fonctionne et l'OWA marche sur un navigateur de smartphone, j'en ai testé plusieurs sur mon Android (celui fourni par défaut, skyfire, dolphin) et aussi celui fourni avec un Samsung!

    J'ai utilisé hier le plugin "Live header" sous FF pour voir ce qu'il se passait par rapport à mes logs access d'apache et j'ai obtenu ça:
    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
    17
    18
    19
    20
    21
    22
     
    https://webmail.nomdomaine.fr/owa/
     
    GET /owa/ HTTP/1.1
    Host: webmail.nomdomaine.fr
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 115
    Connection: keep-alive
     
    HTTP/1.0 302 Moved Temporarily
    Date: Tue, 19 Oct 2010 06:18:31 GMT
    Content-Length: 0
    Location: https://webmail.nomdomaine.fr/owa/auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0
    Set-Cookie: sessionid=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
    Set-Cookie: cadata=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
    WWW-Authenticate: Basic realm=webmail.domanys.fr
    Connection: close
    Content-Type: text/plain; charset=UTF-8
    Donc j'ai bien mon 302 au "milieu", et la redirection vers la "Location" (url owa super longue) mais là plus rien. Ce que je trouve étrange, c'est le "Content-Lenght" qui est à 0.
    Et lorsque je mets directement l'url "https://webmail.nomdomaine.fr/owa/auth/logon.aspx?url=https://webmail.nomdomaine.fr/owa/&reason=0" dans le navigateur, ça ne fait rien, en fait je n'ai même aucun header qui passe!
    Quelqu'un aurait une piste, je n'ai rien trouvé sur ce problème depuis hier.
    Merci!

  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
    C'est possible qu'Apache se connecte à OWA en HTTP au lieu de HTTPS ?

    Tu peux également donner la configuration SSL de ton serveur (SSLCipherSuite, etc.) et nous dire comment tu as généré ton certificat ?

    Fais également un test en désactivant le keep-alive s'il est activé et à l'inverse en l'activant s'il est désactivé.

    J'ai refait une capture avec Wireshark. J'ai toujours cette anomalie de retransmission de paquet précédée par une réponse du serveur qui demande un change cipher spec au lieu d'envoyer son certificat comme c'est le cas sur les connexions précédentes. Super bizarre.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    non, mon OWA ne veut que du HTTPS.
    Voici la conf SSL de mon vhost :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    c'est que j'ai vu sur de très nombreux exemples/forum donc j'ai repris tel quel sans me poser de question j'avoue. J'ai dû essayé pendant un temps d'ajouter un truc du genre pour voir, apparemment ça empêche le SSL2 et donc force le TLS, mais ça a rien fait non plus.

    Je ne vois pas la chose bizarre que tu remarques dans ton whireshark en tout cas pour la requête DNS, pour la retransmission je ne sais pas trop.

    j'ai activé/désactivé le keepalive... rien n'y fait, les 2 fonctionnent tjs sur mon smartphone mais tjs pas depuis un PC avec IE/FF/Chrome...

  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
    Question complètement idiote : le SSL sans le reverse proxy vers OWA fonctionne ?

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Question complètement idiote : le SSL sans le reverse proxy vers OWA fonctionne ?
    oui l'OWA fonctionne sans souci en SSL en direct (local) et même depuis l'extérieur avec une redirection de ports.
    Le site en lui-même (config Apache "normale" sans RP) fonctionne aussi en SSL.

    Actuellement, les smartphones accèdent aussi en HTTPS (SSL) et cela fonctionne. Je n'arrive pas à trouver la différence entre un navigateur sur PC et celui sur smartphone où là ça marche. Bizarre que ça marche avec l'un et pas avec l'autre.

    Merci bcp (encore) pour ton aide, je vais voir ce que je fais avec tout ça.

  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
    Je n'ai plus d'idée Traces réseau (Wireshark) côté serveur ?

Discussions similaires

  1. Reverse proxy avec Apache 2.2
    Par RudyWI dans le forum Apache
    Réponses: 1
    Dernier message: 28/09/2011, 15h41
  2. reverse proxy pour owa
    Par led0b dans le forum Apache
    Réponses: 1
    Dernier message: 30/09/2008, 17h15
  3. probleme avec le reverse proxy sous apache 1.3
    Par verazano dans le forum Apache
    Réponses: 2
    Dernier message: 23/06/2008, 22h38
  4. Réponses: 7
    Dernier message: 11/12/2007, 03h16
  5. Problème Apache en Reverse Proxy + IIS
    Par CaroleM dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 12/03/2007, 10h07

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