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 :

Apache 2.0.55 comme Forwarding Proxy SSL pour srvASPNET: pb avec tag <select>


Sujet :

Apache

  1. #1
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Apache 2.0.55 comme Forwarding Proxy SSL pour srvASPNET: pb avec tag <select>
    Forwarding Proxy Server
    Solaris 8
    Apache 2.0.55 + mod_ssl,mod_proxy,mod_proxy_html 3.0

    Forwarded Server
    Windows 2003
    IIS + ASPNET 2.0

    Pour vous aider:
    + Liste des tests
    + Extrait du code source ASPNET
    + Deux dumps du traffic réseau fait par SNOOP/Solaris
    + Conforg Apache en forwarding proxy

    Tout fonctionne bien sur le site sauf la page qui contiens un champs
    <select> qui ne marche pas uniquement quand on active le mod_ssl.

    Quand je sélectionne une entrée de la liste du <select>, si j'utilise
    le proxy en mode SSL, le serveur ASPNET ne reçoit aucune valeur
    sélectionnée.

    Si mod_ssl est désactivé, le serveur ASPNET reçoit la valeur
    sélectionnée et renvoie une page rafraichie contenant la valeur
    sélectionnée dans le champ <select>.

    Que dois-je faire pour faire fonctionner le forwarding proxy en mode SSL ?

    Dernière information: je suis administrateur système UNIX. C'est la
    première fois que je configure un forwarding proxy et je ne connais
    pas ASPNET.

    Merci d'avance pour votre aide.

    Cordialement,

    Pierre


    -------------------------------------------------------------------------
    Liste de tests réalisés
    -------------------------------------------------------------------------
    Forwarding proxy + mod_ssl + ASPNET: méthode POST sur un champ <input>
    - Fonctionne bien

    Forwarding Proxy + mod_ssl: méthode <select> dans une page CGI Perl
    La page CGI Perl est hébergée par le Forwarding Proxy.
    - Fonctionne bien


    -------------------------------------------------------------------------
    Extrait du source de la page générée sur le serveur ASPNET
    -------------------------------------------------------------------------
    Code HTML : 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
    <TABLE id="Table1" align="center">
    	<TR>
    		<TD align="center" >
    			<img id="Image1" src="../image/vague.jpg" style="border-width:0px;" /></TD>
    	</TR>
        <tr>
            <td align="center" height=30px>
                        </td>
        </tr>
    	<TR>
    		<TD align="center">
    			<P>
    				<span id="Label1">Dossiers :</span>&nbsp;&nbsp;
    				<select name="DDDossier" onchange="javascript:setTimeout('__doPostBack(\'DDDossier\',\'\')', 0)" id="DDDossier">
    					<option selected="selected" value="000000000"></option>
    					<option value="100000000">6266 - ACCOUNT ONE</option>
    					<option value="100000001">5379 - ACCOUNT TWO</option>
    					<option value="100000002">5238 - ACCOUNT THREE</option>
    				</select>
    			</P>						
    		</TD>
    	</TR>
    </TABLE>

    Note: Il y a également beaucoup de JavaScript que je n'ai pas mis ici
    pour simplifier la présentation.

    --------------------------------------------------------------------------
    Vous trouverez ci-dessous les dumps du trafic entre le forwarding proxy
    et le serveur ASPNET.


    ---------------------------------------------------------------
    Client <-- HTTP --> Forwarding Proxy (mod_proxy,mod_proxy_html)
    <-- HHTP --> Serveur ASPNET
    ----------------------------------------------------------------
    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
    892   0.01175 fwproxy-server -> aspnet-server       HTTP POST /cgabds/suivi/suiviinsp.aspx HTTP/1.1
    ....
             736: 3031 420d 0a43 6f6e 7465 6e74 2d54 7970    01B..Content-Typ
             752: 653a 2061 7070 6c69 6361 7469 6f6e 2f78    e: application/x
             768: 2d77 7777 2d66 6f72 6d2d 7572 6c65 6e63    -www-form-urlenc
             784: 6f64 6564 0d0a 4d61 782d 466f 7277 6172    oded..Max-Forwar
             800: 6473 3a20 3130 0d0a 582d 466f 7277 6172    ds: 10..X-Forwar
             816: 6465 642d 466f 723a 2031 302e 3130 302e    ded-For: 10.100.
             832: 312e 3133 340d 0a58 2d46 6f72 7761 7264    1.134..X-Forward
             848: 6564 2d48 6f73 743a 2077 7777 xxxxxxxxx    ed-Host: www.xxx
             864: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxxxxx
             880: xxxxxxxxxxxxxxxxxxxxxxxx 6672 3a34 3433    xxxxxxxxx.fr:443
             896: 0d0a 582d 466f 7277 6172 6465 642d 5365    ..X-Forwarded-Se
             912: 7276 6572 3a20 7777 77xxxxxxxxxxxxxxxxx    rver: www.xxxxxx
             928: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxxxxx
             944: xxxxxxxxxxxxxxxxx66 720d 0a43 6f6e 7465    xxxxxx.fr..Conte
             960: 6e74 2d4c 656e 6774 683a 2033 3534 3931    nt-Length: 35491
             976: 390d 0a0d 0a5f 5f45 5645 4e54 5441 5247    9....__EVENTTARG
             992: 4554 3d44 4444 6f73 7369 6572 265f 5f45    ET=DDDossier&__E
            1008: 5645 4e54 4152 4755 4d45 4e54 3d26 5f5f    VENTARGUMENT=&__
            1024: 4c41 5354 464f 4355 533d 265f 5f56 4945    LASTFOCUS=&__VIE
            1040: 5753 5441 5445 3d25 3246 7745 5044 7755    WSTATE=%2FwEPDwU
            1056: 4b4d 546b 354e 4455 784e 6a63 324e 6739    KMTk5NDUxNjc2Ng9
            1072: 6b46 6749 4341 5139 6b46 6751 4342 5138    kFgICAQ9kFgQCBQ8

    Là ça marche
    --------------------------------------------------------------------------------
    Client <-- HTTP + SSL --> Forwarding Proxy (mod_proxy,mod_proxy_html,mod_ssl)
    <-- HTTP --> Serveur ASPNET
    --------------------------------------------------------------------------------

    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
    815   3.46144 fwproxy-server -> aspnet-server       HTTP POST /cgabds/suivi/suiviinsp.aspx HTTP/1.1^M
    ....
             736: 0d0a 436f 6e74 656e 742d 5479 7065 3a20    ..Content-Type:
             752: 6170 706c 6963 6174 696f 6e2f 782d 7777    application/x-ww
             768: 772d 666f 726d 2d75 726c 656e 636f 6465    w-form-urlencode
             784: 640d 0a4d 6178 2d46 6f72 7761 7264 733a    d..Max-Forwards:
             800: 2031 300d 0a58 2d46 6f72 7761 7264 6564     10..X-Forwarded
             816: 2d46 6f72 3a20 3130 2e31 3030 2e31 2e31    -For: 10.100.1.1
             832: 3334 0d0a 582d 466f 7277 6172 6465 642d    34..X-Forwarded-
             848: 486f 7374 xxxxxxxxxxxxxxxxxxxxxxxxxxxxx    Host: www.xxxxxx
             864: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxxxxx
             880: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2d46 6f72    xxxxxx.fr..X-For
             896: 7761 7264 6564 2d53 6572 7665 723a 2077    warded-Server: w
             912: 7777 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    ww.xxxxxxxxxxxxx
             928: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxxxxx
             944: 6672 xxxxxxxxxxxxxxxxxxxxxxxd 4c65 6e67    fr..Content-Leng
             960: 7468 3a20 3335 3439 3139 0d0a 0d0a 556c    th: 354919....Ul
             976: 4e46 5655 7767 5155 7842 5355 345a 4d6a    NFVUwgQUxBSU4ZMj
             992: 6367 4c53 4179 4e54 6331 4943 3067 5130    cgLSAyNTc1IC0gQ0
            1008: 3954 5155 5653 5643 4242 5445 464a 5468    9TQUVSVCBBTEFJTh

    Là ça ne marche pas
    --------------------------------------------------------------------------------


    Config Apache
    --------------------------------------------------------------------------------.
    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
    PidFile         logs/httpd-cgabds.pid
    ServerName      <a href="http://www.xxxxxxxxxx.fr" target="_blank">www.xxxxxxxxxx.fr</a>
    ErrorLog        logs/cgabds.error-log
    Listen          192.168.150.106:443
     
    DocumentRoot    /usr/local/sites/cgabds
    DirectoryIndex  index.htm
     
    ProxyRequests                   off
    ProxyPass                       /demat/  <a href="http://artasp/" target="_blank">http://artasp/</a>
    ProxyHTMLURLMap                 <a href="http://artasp" target="_blank">http://artasp</a>   /demat  ce
     
    <Location /demat/>
            ProxyPassReverse        /
            ProxyHTMLURLMap         /       /demat/ ce
            ProxyHTMLURLMap         /demat  /demat  ce
            RequestHeader           unset   Accept-Encoding
    </Location>
     
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
     
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl SSLPassPhraseDialog  builtin
     
    SSLEngine on
    SSLRandomSeed startup file:/dev/random  512
    SSLRandomSeed connect file:/dev/random  512
     
    SSLSessionCache         dbm:/usr/local/apache2/logs/ssl_scache
    SSLSessionCacheTimeout  300
    SSLMutex  file:/usr/local/apache2/logs/ssl_mutex
     
    SSLCertificateFile /usr/local/apache2/conf/ssl/thawte/cgabds-
    certificate.cer
    SSLCertificateKeyFile /usr/local/apache2/conf/ssl/thawte/
    <a href="http://www.xxxxxxxxxxxxxxxxx.key" target="_blank">www.xxxxxxxxxxxxxxxxx.key</a>
    SSLCertificateChainFile /usr/local/apache2/conf/ssl/thawte/cgabds-cert-
    chain.txt
     
    SSLCipherSuite HIGH:-AES:MEDIUM:LOW:EXPORT:!ADH:!DSS:!
    EXPORT56:@STRENGTH:+3DES:+DES
    SSLProtocol all -SSLv2

  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
    Citation Envoyé par lougascou Voir le message
    Note: Il y a également beaucoup de JavaScript que je n'ai pas mis ici
    pour simplifier la présentation.
    Justement, t'en parles : tu pourrais nous donner le code de la fonction __doPostBack ? Je pense que le pb vient de là, qu'une URL absolue en http:// (donc non https) est construite, ce qui pose pb. Y a aucune raison fonctionnelle pour que le navigateur traite le select autrement qu'un champ input qui fonctionne bien par ailleurs : pour lui, c'est la même chose, c'est la partie affichage et interaction utilisateur qui change.

    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

  3. #3
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Justement, t'en parles : tu pourrais nous donner le code de la fonction __doPostBack ? Je pense que le pb vient de là, qu'une URL absolue en http:// (donc non https) est construite, ce qui pose pb. Y a aucune raison fonctionnelle pour que le navigateur traite le select autrement qu'un champ input qui fonctionne bien par ailleurs : pour lui, c'est la même chose, c'est la partie affichage et interaction utilisateur qui change.
    Merci pour ton aide.

    Voilà le code source de la page, tel que je le récupère dans le navigateur. Mais concernant ta remarque, je rappelle que la page ne fonctionne pas lorsque le forwarding proxy fonctionne en mod HTTP+SSL. Quand il fonctionne en mode HTTP la page fonctionne bien. Jette un coup d'oeil aux dumps de trafic à la sortie du forwarding proxy.
    Fichiers attachés Fichiers attachés

  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
    Je ne vois pas ce qui cloche. Visiblement, c'est pas le JavaScript mais pour le coup, ça me paraît bizarre que le select ne marche pas alors qu'un input marche

    Pour le dump, tu pourrais nous donner les traces complètes des en-têtes dans le cas sans SSL et le cas avec SSL ? Dans ce que tu donnes, il manque Host, User-Agent, etc.

    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

  5. #5
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Je ne vois pas ce qui cloche. Visiblement, c'est pas le JavaScript mais pour le coup, ça me paraît bizarre que le select ne marche pas alors qu'un input marche

    Pour le dump, tu pourrais nous donner les traces complètes des en-têtes dans le cas sans SSL et le cas avec SSL ? Dans ce que tu donnes, il manque Host, User-Agent, etc.
    Voilà les infos.
    Je me demande si le problème ne vient pas de mod_ssl.
    Le développeur de l'application m'expliquait qu'ASPNET utilise le système de VIEWSTATE pour transmettre les informations sur la page. N'y aurait-il pas un pb avec ce mécanisme fonctionnant avec mod_ssl ?
    <input name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTk5ND ... 21J2sVCOw==" type="hidden"> de 305812 octets.

    Ci-dessous, le dump complet des paquets POSTs en HTTP et HTTP+S.
    Fichiers attachés Fichiers attachés

  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
    Citation Envoyé par lougascou Voir le message
    Le développeur de l'application m'expliquait qu'ASPNET utilise le système de VIEWSTATE pour transmettre les informations sur la page. N'y aurait-il pas un pb avec ce mécanisme fonctionnant avec mod_ssl ?
    C'est possible : c'est censé contenir quoi, ce machin ? Si ça contient des URL absolues, ça peut être le pb. Après, le SSL ne modifie en rien le contenu des champs de formulaire envoyés au serveur, encore heureux !

    EDIT : je viens de regarder les traces et y a un truc super étonnant : en SSL, le nom des champs du formulaire ne sont pas envoyés : quand tu regardes la fin des traces, pour HTTP, tu as "__EVENTTARGET=DDDossier&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwE..." alors qu'avec SSL, tu as "UlNFVUwgQUxBSU4ZMjcgLSAyNTc1IC0gQ09TQUVSVCBBTEFJThwyNyAtIDMyNDUgLSBDT...", c'est super étrange.

    J'ai vu que tu testais avec Firefox : tu as essayé avec un autre navigateur ?

    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
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est possible : c'est censé contenir quoi, ce machin ? Si ça contient des URL absolues, ça peut être le pb. Après, le SSL ne modifie en rien le contenu des champs de formulaire envoyés au serveur, encore heureux !
    Viewstate est un mécanisme qui permet entre autres de gérer la persistance des données.
    Je suis d'accord avec toi pour SSL mais le seul point qui diffère entre les deux états est l'activation du module SSL sur le forwarding proxy.
    Je viens de lire que Viewstate peut être désactivé. Je vais demander au développeur d'essayer.

  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
    Tu pourrais faire un dump de ce qui passe entre ton PC et le proxy ? Il faut savoir d'où vient cette histoire de noms de champ qui manquent.

    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
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Tu pourrais faire un dump de ce qui passe entre ton PC et le proxy ? Il faut savoir d'où vient cette histoire de noms de champ qui manquent.
    Le problème du débogage avec SSL c'est qu'on ne peut pas voir le contenu des flux ;-) Je vais regarder plutôt du côté du forwarding proxy.

  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
    Utilise un outil du style LiveHTTPHeaders sur Firefox : il trace tout ce qui est envoyé et reçu, indépendamment de SSL

    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
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Utilise un outil du style LiveHTTPHeaders sur Firefox : il trace tout ce qui est envoyé et reçu, indépendamment de SSL
    Merci pour le tuyau. Je regarde ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/02/2010, 17h21
  2. Configuration Apache SSL pour Tomcat
    Par Furlaz dans le forum Apache
    Réponses: 35
    Dernier message: 31/03/2009, 11h15
  3. configurer ssl pour apache (lampp)
    Par lizardman dans le forum Apache
    Réponses: 3
    Dernier message: 21/05/2008, 13h30

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