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