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> <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
Partager