You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Edward Muller <ed...@interlix.com> on 2006/03/03 19:33:14 UTC

[users@httpd] httpd (2.0.55) proxying https to zope's http mangling POST data

One of our clients has the following setup:
httpd 2.0.55 (Gentoo package 2.0.55-r1)
Zope 2.6.1

Apache proxies zope for a http and https host via mod_rewrite/proxy

POSTs going to httpd=>zope via http are fine, posts going to httpd=>zope via 
https are not. I have dumps of the exact same post done via both made by 
sniffing the loopback traffic (see below).

here is a dump of the posts ... The first one is the apache=>zope where the 
request was made to the http host. The second one is the apache=>zope where 
the request was mage via https... Note: The form-data pieces in the https one 
are corrupt for some reason...

Any help figuring out if it's a bug in apache or a mis-configuration would be 
most appreciated.

apache=>zope connection was via http to apache...

POST /VirtualHostBase/http/www.agts.edu:80/VirtualHostRoot/_vh_apply/_vh_online//steps/education_info/move_py 
HTTP/1.1 
Host: 127.0.0.1:8080 
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060210 
Firefox/1.5.0.1 
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Referer: http://www.agts.edu/apply/online/steps/education_info 
Cookie: tree-s="eJzTiFZ3hANPW/VYHU0ALlYElA"; 
AWSUSER_ID=awsuser_id1095956020316r6120; _ZopeId="62895622A2PZPfo3v4g" 
Authorization: Basic ZW11bGxlcjpncmVzcDBuZA== 
Content-Type: multipart/form-data; 
boundary=---------------------------1385143389812779021526929160 
Max-Forwards: 10 
X-Forwarded-For: 64.22.224.52 
X-Forwarded-Host: www.agts.edu 
X-Forwarded-Server: www.agts.edu 
Content-Length: 10232 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="go_to_step:string" 
 
6 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name1:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city1:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state1:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates1:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree1:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date1:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name2:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city2:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state2:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates2:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree2:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date2:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name3:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city3:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state3:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates3:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree3:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date3:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name4:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city4:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state4:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates4:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree4:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date4:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name5:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city5:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state5:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates5:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree5:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date5:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name6:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city6:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state6:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates6:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree6:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date6:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name7:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city7:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state7:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates7:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree7:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date7:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name8:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city8:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state8:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates8:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree8:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date8:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name9:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city9:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state9:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates9:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree9:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date9:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name10:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city10:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state10:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates10:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree10:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date10:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name11:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city11:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state11:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates11:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree11:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date11:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_name12:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_city12:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_state12:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_dates12:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree12:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="school_degree_date12:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="applied_or_taken_earlier:int" 
 
2 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="applied_or_taken_earlier_det:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="enrolled_elsewhere:int" 
 
2 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="enrolled_elsewhere_location:string" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="denied_or_dismissed:int" 
 
2 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="denied_or_dismissed_details:text" 
 
 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="enroll_other_seminary:int" 
 
0 
-----------------------------1385143389812779021526929160 
Content-Disposition: form-data; name="enroll_other_seminary_det:string" 
 
 
-----------------------------1385143389812779021526929160-- 

apache=>zope connection was via http2 to apache...

POST /VirtualHostBase/https/www.agts.edu:443/VirtualHostRoot/_vh_apply/_vh_online//steps/education_info/move_py 
HTTP/1.1 
Host: www.agts.edu 
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060210 
Firefox/1.5.0.1 
Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Referer: https://www.agts.edu/apply/online/steps/education_info 
Cookie: tree-s="eJzTiFZ3hANPW/VYHU0ALlYElA"; 
AWSUSER_ID=awsuser_id1095956020316r6120; _ZopeId="62895622A2PZPfo3v4g" 
Content-Type: multipart/form-data; 
boundary=---------------------------155710756420592666112128351680 
Front-End-Https: on 
Max-Forwards: 10 
X-Forwarded-For: 64.22.224.52 
X-Forwarded-Host: www.agts.edu 
X-Forwarded-Server: www.agts.edu 
Content-Length: 10396 
 
string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state11:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state12:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier_det:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere_location:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed_details:text" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary_det:string" 
 
 
-----------------------------155710756420592666112128351680-- 
l_name9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state9:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates9:string" 
 
 
----string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state11:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state12:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier_det:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere_location:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed_details:text" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary_det:string" 
 
 
-----------------------------155710756420592666112128351680-- 
l_name9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state9:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date9:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state10:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date10:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state11:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date11:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_name12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_city12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_state12:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_dates12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="school_degree_date12:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="applied_or_taken_earlier_det:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enrolled_elsewhere_location:string" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed:int" 
 
2 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="denied_or_dismissed_details:text" 
 
 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary:int" 
 
0 
-----------------------------155710756420592666112128351680 
Content-Disposition: form-data; name="enroll_other_seminary_det:string" 
 
 
-----------------------------155710756420592666112128351680-- 


Here is the relevant vhost configuration. I replaced the domain names  
XXXXXX.XXX (I have a confidentiality agreement with the customer).

<VirtualHost 172.19.2.92:80>
    ServerAdmin admin@XXXX.XXX
    DocumentRoot /var/www/XXXX.XXX/htdocs
    ServerName www.XXXX.XXX
    ServerAlias XXXX.XXX
    ErrorLog logs/XXXX-error_log
    CustomLog logs/XXXX-access_log combined
    RewriteEngine On

    <Directory "/var/www/XXXX.XXX/htdocs">
    	Options Indexes FollowSymLinks
    	AllowOverride AuthConfig 
	Order allow,deny
	Allow from all
    </Directory>

    <IfModule mod_auth_digest.c>
    <Directory "/usr/share/webapps/awstats/6.5/hostroot">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all

        AuthType Digest
        AuthName "AWStats"
        AuthDigestFile /etc/awstats/.htdigest
        AuthDigestDomain http://www.XXXX.XXX https://www.XXXX.XXX 
http://XXXX.XXX https://XXXX.XXX http://www.XXXXXXXXXX.XXX 
https://www.XXXXXXXXXX.XXX http://XXXXXXXXXX.XXX https://XXXXXXXXXX.XXX
        require valid-user
        # The following line is REQUIRED to work around a bug in MSIE.
        # See http://httpd.apache.org/docs-2.0/mod/mod_auth_digest.html
        BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
    </Directory>
    </IfModule>


    Alias /awstats/classes "/usr/share/webapps/awstats/6.5/htdocs/classes/"
    Alias /awstats/css "/usr/share/webapps/awstats/6.5/htdocs/css/"
    Alias /awstats/icons "/usr/share/webapps/awstats/6.5/htdocs/icon/"
    ScriptAlias /awstats/ "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/"
    ScriptAlias /awstats 
"/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/awstats.pl"
    ScriptAlias /awstats.pl 
"/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/awstats.pl"

    <Directory "/usr/share/webapps/awstats/6.5/htdocs">
        Options None
        AllowOverride None
        <IfModule mod_access.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Directory>

    <Directory "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin">
        Options ExecCGI
        AllowOverride None
        <IfModule mod_access.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Directory>

    #ecams
    RewriteCond %{REQUEST_URI} ^/e(f|F)aculty
    RewriteRule ^/e(f|F)aculty(.*) https://%{HTTP_HOST}/eFaculty$2 [R,L]

    RewriteCond %{REQUEST_URI} ^/e(s|S)tudent
    RewriteRule ^/e(s|S)tudent(.*) https://%{HTTP_HOST}/eStudent$2 [R,L]

    #exchange
    RewriteCond %{REQUEST_URI} ^/exchange
    RewriteRule ^/exchange(.*) https://www.XXXX.XXX/exchange$1

    #Zope Alumni Directory
    RewriteCond %{REQUEST_URI} ^/alumni/online
    RewriteRule ^/alumni(.*) 
http://127.0.0.1:8080/VirtualHostBase/http/www.XXXX.XXX:80/alumni/VirtualHostRoot/_vh_alumni/$1 
[L,P]

    #Zope Online Application
    RewriteCond %{REQUEST_URI} ^/apply/online
    RewriteCond %{REQUEST_URI} !^/apply/online.html
    RewriteRule ^/apply/online(.*) 
http://127.0.0.1:8080/VirtualHostBase/http/www.XXXX.XXX:80/VirtualHostRoot/_vh_apply/_vh_online/$1 
[L,P]

    #Zope CalendarX
    RewriteCond %{REQUEST_URI} ^/caladmin
    RewriteRule ^/caladmin(.*) 
http://127.0.0.1:8082/VirtualHostBase/http/www.XXXX.XXX:80/Plone/VirtualHostRoot/_vh_caladmin/$1 
[L,P]

    RewriteCond %{REQUEST_URI} ^/calendar
    RewriteRule ^/calendar(.*) 
http://127.0.0.1:8082/VirtualHostBase/http/www.XXXX.XXX:80/Plone/calendar/VirtualHostRoot/_vh_calendar/$1 
[L,P]

    #Zope Continuing Education
    RewriteCond %{REQUEST_URI} ^/ce_online
    RewriteRule ^/ce_online(.*) 
http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/ceonline/VirtualHostRoot/_vh_ce_online/$1 
[L,P]

    <Location /ce_online>
      Header unset Vary
    </Location>

    #Zope Tech instance
    RewriteCond %{REQUEST_URI} ^/tech
    RewriteRule ^/tech(.*) 
http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/tech/VirtualHostRoot/_vh_tech/$1 
[L,P]

    RewriteCond %{REQUEST_URI} ^/et
    RewriteRule ^/et(.*) 
http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/encounterjournal/VirtualHostRoot/_vh_et/$1 
[L,P]
    
</VirtualHost>

<IfDefine SSL>

<IfModule mod_ssl.c>
<VirtualHost 172.19.2.92:443>
ServerAdmin admin@XXXX.XXX
DocumentRoot /var/www/XXXX.XXX/htdocs
ServerName www.XXXX.XXX
ServerAlias XXXX.XXX

#   General setup for the virtual host
ErrorLog logs/XXXX-ssl_error_log

<IfModule mod_log_config.c>
	TransferLog logs/XXXX-ssl_access_log
</IfModule>

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:
+eNULL

SSLCertificateFile conf/ssl/www.XXXX.XXX.crt

SSLCertificateKeyFile conf/ssl/www.XXXX.XXX.key

<Files ~ "\.(cgi|shtml|phtml|php?)$">
    SSLOptions +StdEnvVars
</Files>

<Directory "/var/www/localhost/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

<IfModule mod_setenvif.c>
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
</IfModule>

<IfModule mod_log_config.c>
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteOptions inherit
</IfModule>

#ZOPE
RewriteCond %{REQUEST_URI} ^/apply/online
RewriteCond %{REQUEST_URI} !^/apply/online.html
RewriteRule ^/apply/online(.*) 
http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoot/_vh_apply/_vh_online/$1 
[L,P]
#/ZOPE

#ZOPE
RewriteCond %{REQUEST_URI} ^/alumni/online
RewriteRule ^/alumni(.*) 
http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/alumni/VirtualHostRoot/_vh_alumni/$1 
[L,P]
#/ZOPE

#ZOPE
RewriteCond %{REQUEST_URI} ^/zforms
RewriteRule ^/zforms(.*) 
http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoot/zforms/$1 
[L,P]
#/ZOPE

#Zope CalendarX
RewriteCond %{REQUEST_URI} ^/caladmin
RewriteRule ^/caladmin(.*) 
http://127.0.0.1:8082/VirtualHostBase/https/www.XXXX.XXX:443/Plone/VirtualHostRoot/_vh_caladmin/$1 
[L,P]

RewriteCond %{REQUEST_URI} ^/calendar
RewriteRule ^/calendar(.*) 
http://127.0.0.1:8082/VirtualHostBase/https/www.XXXX.XXX:443/Plone/calendar/VirtualHostRoot/_vh_calendar/$1 
[L,P]

#TECH_ZOPE
RewriteCond %{REQUEST_URI} ^/tech
RewriteRule ^/tech(.*) 
http://127.0.0.1:9080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoot/_vh_tech/$1 
[L,P]
#/TECH_ZOPE

RewriteCond %{REQUEST_URI} ^/ce_online
RewriteRule ^/ce_online(.*) 
http://127.0.0.1:9081/VirtualHostBase/https/www.XXXX.XXX:443/ceonline/VirtualHostRoot/_vh_ce_online/$1 
[L,P]

#EXCHANGE
ProxyPreserveHost On
RequestHeader set Front-End-Https on
ProxyPass /exchange http://172.19.2.5/exchange
ProxyPassReverse /exchange http://172.19.2.5/exchange
ProxyPass /exchweb http://172.19.2.5/exchweb
ProxyPassReverse /exchweb http://172.19.2.5/exchweb
ProxyPass /public http://172.19.2.5/public
ProxyPassReverse /public http://172.19.2.5/public

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/efaculty
RewriteRule ^/efaculty(.*) https://%{HTTP_HOST}/eFaculty$1 [R,L]

RewriteCond %{REQUEST_URI} ^/estudent
RewriteRule ^/estudent(.*) https://%{HTTP_HOST}/eStudent$1 [R,L]

ProxyPreserveHost On
RequestHeader set Front-End-Https on
ProxyPass /eFaculty http://172.19.2.31/eFaculty
ProxyPassReverse /eFaculty http://172.19.2.31/eFaculty
ProxyPass /eStudent http://172.19.2.31/eStudent
ProxyPassReverse /eStudent http://172.19.2.31/eStudent


</VirtualHost>                                  

</IfModule>

</IfDefine>


-- 
Edward Muller - Interlix
edwardam@interlix.com
417-862-0573
PGP Key: http://interlix.com/Members/edwardam/pgpkeys

Re: [users@httpd] httpd (2.0.55) proxying https to zope's http mangling POST data

Posted by Edward Muller <ed...@interlix.com>.
Upgrading to Apache 2.2.0 fixed the problem, although I understand that this 
is also fixed in Apache 2.0.56 whenever it's reeleased. So when it is I will 
probably down-grade to it.

On Friday 03 March 2006 12:33 pm, Edward Muller wrote:
> One of our clients has the following setup:
> httpd 2.0.55 (Gentoo package 2.0.55-r1)
> Zope 2.6.1
>
> Apache proxies zope for a http and https host via mod_rewrite/proxy
>
> POSTs going to httpd=>zope via http are fine, posts going to httpd=>zope
> via https are not. I have dumps of the exact same post done via both made
> by sniffing the loopback traffic (see below).
>
> here is a dump of the posts ... The first one is the apache=>zope where the
> request was made to the http host. The second one is the apache=>zope where
> the request was mage via https... Note: The form-data pieces in the https
> one are corrupt for some reason...
>
> Any help figuring out if it's a bug in apache or a mis-configuration would
> be most appreciated.
>
> apache=>zope connection was via http to apache...
>
> POST
> /VirtualHostBase/http/www.agts.edu:80/VirtualHostRoot/_vh_apply/_vh_online/
>/steps/education_info/move_py HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1)
> Gecko/20060210 Firefox/1.5.0.1
> Accept:
> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q
>=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Referer: http://www.agts.edu/apply/online/steps/education_info
> Cookie: tree-s="eJzTiFZ3hANPW/VYHU0ALlYElA";
> AWSUSER_ID=awsuser_id1095956020316r6120; _ZopeId="62895622A2PZPfo3v4g"
> Authorization: Basic ZW11bGxlcjpncmVzcDBuZA==
> Content-Type: multipart/form-data;
> boundary=---------------------------1385143389812779021526929160
> Max-Forwards: 10
> X-Forwarded-For: 64.22.224.52
> X-Forwarded-Host: www.agts.edu
> X-Forwarded-Server: www.agts.edu
> Content-Length: 10232
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="go_to_step:string"
>
> 6
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name1:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city1:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state1:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates1:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree1:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date1:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name2:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city2:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state2:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates2:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree2:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date2:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name3:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city3:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state3:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates3:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree3:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date3:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name4:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city4:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state4:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates4:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree4:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date4:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name5:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city5:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state5:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates5:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree5:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date5:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name6:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city6:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state6:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates6:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree6:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date6:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name7:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city7:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state7:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates7:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree7:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date7:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name8:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city8:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state8:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates8:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree8:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date8:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name9:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city9:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state9:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates9:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree9:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date9:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name10:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city10:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state10:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates10:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree10:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date10:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name11:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city11:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state11:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates11:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree11:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date11:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_name12:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_city12:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_state12:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_dates12:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree12:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="school_degree_date12:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="applied_or_taken_earlier:int"
>
> 2
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="applied_or_taken_earlier_det:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="enrolled_elsewhere:int"
>
> 2
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="enrolled_elsewhere_location:string"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="denied_or_dismissed:int"
>
> 2
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="denied_or_dismissed_details:text"
>
>
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="enroll_other_seminary:int"
>
> 0
> -----------------------------1385143389812779021526929160
> Content-Disposition: form-data; name="enroll_other_seminary_det:string"
>
>
> -----------------------------1385143389812779021526929160--
>
> apache=>zope connection was via http2 to apache...
>
> POST
> /VirtualHostBase/https/www.agts.edu:443/VirtualHostRoot/_vh_apply/_vh_onlin
>e//steps/education_info/move_py HTTP/1.1
> Host: www.agts.edu
> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1)
> Gecko/20060210 Firefox/1.5.0.1
> Accept:
> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q
>=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5
> Accept-Encoding: gzip,deflate
> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> Referer: https://www.agts.edu/apply/online/steps/education_info
> Cookie: tree-s="eJzTiFZ3hANPW/VYHU0ALlYElA";
> AWSUSER_ID=awsuser_id1095956020316r6120; _ZopeId="62895622A2PZPfo3v4g"
> Content-Type: multipart/form-data;
> boundary=---------------------------155710756420592666112128351680
> Front-End-Https: on
> Max-Forwards: 10
> X-Forwarded-For: 64.22.224.52
> X-Forwarded-Host: www.agts.edu
> X-Forwarded-Server: www.agts.edu
> Content-Length: 10396
>
> string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state11:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state12:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier_det:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere_location:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed_details:text"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary_det:string"
>
>
> -----------------------------155710756420592666112128351680--
> l_name9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state9:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates9:string"
>
>
> ----string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state11:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state12:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier_det:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere_location:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed_details:text"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary_det:string"
>
>
> -----------------------------155710756420592666112128351680--
> l_name9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state9:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date9:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state10:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date10:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state11:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date11:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_name12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_city12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_state12:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_dates12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="school_degree_date12:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="applied_or_taken_earlier_det:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enrolled_elsewhere_location:string"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed:int"
>
> 2
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="denied_or_dismissed_details:text"
>
>
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary:int"
>
> 0
> -----------------------------155710756420592666112128351680
> Content-Disposition: form-data; name="enroll_other_seminary_det:string"
>
>
> -----------------------------155710756420592666112128351680--
>
>
> Here is the relevant vhost configuration. I replaced the domain names
> XXXXXX.XXX (I have a confidentiality agreement with the customer).
>
> <VirtualHost 172.19.2.92:80>
>     ServerAdmin admin@XXXX.XXX
>     DocumentRoot /var/www/XXXX.XXX/htdocs
>     ServerName www.XXXX.XXX
>     ServerAlias XXXX.XXX
>     ErrorLog logs/XXXX-error_log
>     CustomLog logs/XXXX-access_log combined
>     RewriteEngine On
>
>     <Directory "/var/www/XXXX.XXX/htdocs">
>     	Options Indexes FollowSymLinks
>     	AllowOverride AuthConfig
> 	Order allow,deny
> 	Allow from all
>     </Directory>
>
>     <IfModule mod_auth_digest.c>
>     <Directory "/usr/share/webapps/awstats/6.5/hostroot">
>         Options None
>         AllowOverride None
>         Order allow,deny
>         Allow from all
>
>         AuthType Digest
>         AuthName "AWStats"
>         AuthDigestFile /etc/awstats/.htdigest
>         AuthDigestDomain http://www.XXXX.XXX https://www.XXXX.XXX
> http://XXXX.XXX https://XXXX.XXX http://www.XXXXXXXXXX.XXX
> https://www.XXXXXXXXXX.XXX http://XXXXXXXXXX.XXX https://XXXXXXXXXX.XXX
>         require valid-user
>         # The following line is REQUIRED to work around a bug in MSIE.
>         # See http://httpd.apache.org/docs-2.0/mod/mod_auth_digest.html
>         BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
>     </Directory>
>     </IfModule>
>
>
>     Alias /awstats/classes "/usr/share/webapps/awstats/6.5/htdocs/classes/"
>     Alias /awstats/css "/usr/share/webapps/awstats/6.5/htdocs/css/"
>     Alias /awstats/icons "/usr/share/webapps/awstats/6.5/htdocs/icon/"
>     ScriptAlias /awstats/
> "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/" ScriptAlias /awstats
> "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/awstats.pl"
>     ScriptAlias /awstats.pl
> "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin/awstats.pl"
>
>     <Directory "/usr/share/webapps/awstats/6.5/htdocs">
>         Options None
>         AllowOverride None
>         <IfModule mod_access.c>
>             Order allow,deny
>             Allow from all
>         </IfModule>
>     </Directory>
>
>     <Directory "/usr/share/webapps/awstats/6.5/hostroot/cgi-bin">
>         Options ExecCGI
>         AllowOverride None
>         <IfModule mod_access.c>
>             Order allow,deny
>             Allow from all
>         </IfModule>
>     </Directory>
>
>     #ecams
>     RewriteCond %{REQUEST_URI} ^/e(f|F)aculty
>     RewriteRule ^/e(f|F)aculty(.*) https://%{HTTP_HOST}/eFaculty$2 [R,L]
>
>     RewriteCond %{REQUEST_URI} ^/e(s|S)tudent
>     RewriteRule ^/e(s|S)tudent(.*) https://%{HTTP_HOST}/eStudent$2 [R,L]
>
>     #exchange
>     RewriteCond %{REQUEST_URI} ^/exchange
>     RewriteRule ^/exchange(.*) https://www.XXXX.XXX/exchange$1
>
>     #Zope Alumni Directory
>     RewriteCond %{REQUEST_URI} ^/alumni/online
>     RewriteRule ^/alumni(.*)
> http://127.0.0.1:8080/VirtualHostBase/http/www.XXXX.XXX:80/alumni/VirtualHo
>stRoot/_vh_alumni/$1 [L,P]
>
>     #Zope Online Application
>     RewriteCond %{REQUEST_URI} ^/apply/online
>     RewriteCond %{REQUEST_URI} !^/apply/online.html
>     RewriteRule ^/apply/online(.*)
> http://127.0.0.1:8080/VirtualHostBase/http/www.XXXX.XXX:80/VirtualHostRoot/
>_vh_apply/_vh_online/$1 [L,P]
>
>     #Zope CalendarX
>     RewriteCond %{REQUEST_URI} ^/caladmin
>     RewriteRule ^/caladmin(.*)
> http://127.0.0.1:8082/VirtualHostBase/http/www.XXXX.XXX:80/Plone/VirtualHos
>tRoot/_vh_caladmin/$1 [L,P]
>
>     RewriteCond %{REQUEST_URI} ^/calendar
>     RewriteRule ^/calendar(.*)
> http://127.0.0.1:8082/VirtualHostBase/http/www.XXXX.XXX:80/Plone/calendar/V
>irtualHostRoot/_vh_calendar/$1 [L,P]
>
>     #Zope Continuing Education
>     RewriteCond %{REQUEST_URI} ^/ce_online
>     RewriteRule ^/ce_online(.*)
> http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/ceonline/Virtual
>HostRoot/_vh_ce_online/$1 [L,P]
>
>     <Location /ce_online>
>       Header unset Vary
>     </Location>
>
>     #Zope Tech instance
>     RewriteCond %{REQUEST_URI} ^/tech
>     RewriteRule ^/tech(.*)
> http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/tech/VirtualHost
>Root/_vh_tech/$1 [L,P]
>
>     RewriteCond %{REQUEST_URI} ^/et
>     RewriteRule ^/et(.*)
> http://127.0.0.1:9081/VirtualHostBase/http/www.XXXX.XXX:80/encounterjournal
>/VirtualHostRoot/_vh_et/$1 [L,P]
>
> </VirtualHost>
>
> <IfDefine SSL>
>
> <IfModule mod_ssl.c>
> <VirtualHost 172.19.2.92:443>
> ServerAdmin admin@XXXX.XXX
> DocumentRoot /var/www/XXXX.XXX/htdocs
> ServerName www.XXXX.XXX
> ServerAlias XXXX.XXX
>
> #   General setup for the virtual host
> ErrorLog logs/XXXX-ssl_error_log
>
> <IfModule mod_log_config.c>
> 	TransferLog logs/XXXX-ssl_access_log
> </IfModule>
>
> SSLEngine on
>
> SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:
> +eNULL
>
> SSLCertificateFile conf/ssl/www.XXXX.XXX.crt
>
> SSLCertificateKeyFile conf/ssl/www.XXXX.XXX.key
>
> <Files ~ "\.(cgi|shtml|phtml|php?)$">
>     SSLOptions +StdEnvVars
> </Files>
>
> <Directory "/var/www/localhost/cgi-bin">
>     SSLOptions +StdEnvVars
> </Directory>
>
> <IfModule mod_setenvif.c>
>     SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown \
>     downgrade-1.0 force-response-1.0
> </IfModule>
>
> <IfModule mod_log_config.c>
> CustomLog logs/ssl_request_log \
>           "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
> </IfModule>
>
> <IfModule mod_rewrite.c>
> RewriteEngine On
> #RewriteOptions inherit
> </IfModule>
>
> #ZOPE
> RewriteCond %{REQUEST_URI} ^/apply/online
> RewriteCond %{REQUEST_URI} !^/apply/online.html
> RewriteRule ^/apply/online(.*)
> http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoo
>t/_vh_apply/_vh_online/$1 [L,P]
> #/ZOPE
>
> #ZOPE
> RewriteCond %{REQUEST_URI} ^/alumni/online
> RewriteRule ^/alumni(.*)
> http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/alumni/Virtual
>HostRoot/_vh_alumni/$1 [L,P]
> #/ZOPE
>
> #ZOPE
> RewriteCond %{REQUEST_URI} ^/zforms
> RewriteRule ^/zforms(.*)
> http://127.0.0.1:8080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoo
>t/zforms/$1 [L,P]
> #/ZOPE
>
> #Zope CalendarX
> RewriteCond %{REQUEST_URI} ^/caladmin
> RewriteRule ^/caladmin(.*)
> http://127.0.0.1:8082/VirtualHostBase/https/www.XXXX.XXX:443/Plone/VirtualH
>ostRoot/_vh_caladmin/$1 [L,P]
>
> RewriteCond %{REQUEST_URI} ^/calendar
> RewriteRule ^/calendar(.*)
> http://127.0.0.1:8082/VirtualHostBase/https/www.XXXX.XXX:443/Plone/calendar
>/VirtualHostRoot/_vh_calendar/$1 [L,P]
>
> #TECH_ZOPE
> RewriteCond %{REQUEST_URI} ^/tech
> RewriteRule ^/tech(.*)
> http://127.0.0.1:9080/VirtualHostBase/https/www.XXXX.XXX:443/VirtualHostRoo
>t/_vh_tech/$1 [L,P]
> #/TECH_ZOPE
>
> RewriteCond %{REQUEST_URI} ^/ce_online
> RewriteRule ^/ce_online(.*)
> http://127.0.0.1:9081/VirtualHostBase/https/www.XXXX.XXX:443/ceonline/Virtu
>alHostRoot/_vh_ce_online/$1 [L,P]
>
> #EXCHANGE
> ProxyPreserveHost On
> RequestHeader set Front-End-Https on
> ProxyPass /exchange http://172.19.2.5/exchange
> ProxyPassReverse /exchange http://172.19.2.5/exchange
> ProxyPass /exchweb http://172.19.2.5/exchweb
> ProxyPassReverse /exchweb http://172.19.2.5/exchweb
> ProxyPass /public http://172.19.2.5/public
> ProxyPassReverse /public http://172.19.2.5/public
>
> RewriteEngine On
> RewriteCond %{REQUEST_URI} ^/efaculty
> RewriteRule ^/efaculty(.*) https://%{HTTP_HOST}/eFaculty$1 [R,L]
>
> RewriteCond %{REQUEST_URI} ^/estudent
> RewriteRule ^/estudent(.*) https://%{HTTP_HOST}/eStudent$1 [R,L]
>
> ProxyPreserveHost On
> RequestHeader set Front-End-Https on
> ProxyPass /eFaculty http://172.19.2.31/eFaculty
> ProxyPassReverse /eFaculty http://172.19.2.31/eFaculty
> ProxyPass /eStudent http://172.19.2.31/eStudent
> ProxyPassReverse /eStudent http://172.19.2.31/eStudent
>
>
> </VirtualHost>
>
> </IfModule>
>
> </IfDefine>

-- 
Edward Muller - Interlix
edwardam@interlix.com
417-862-0573
PGP Key: http://interlix.com/Members/edwardam/pgpkeys