apache reverse proxy refused to transfer gzip-compressed soap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I am trying to setup a reverse proxy to transfer data based on soap. Let's say we have three machines:
a --- client
b --- reverse proxy server with apache 2.2.0 installed
c --- data provider using mod_gsoap.dll, provide a soap envelope with data inside.

In b, I only made following change to http.conf:

Enable following lines ---

LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so


Add following lines in the end ---

   ProxyRequests Off
   <Proxy *>
      Order deny,allow
      Allow from all
   </Proxy>
ProxyPass /RPTest/ http://192.168.2.100/gsoap/


I have three scenarios:

Scenario 1 --- c provides uncompressed data
Scenario 2 --- c provides gzip-compressed chunk data
Scenario 3 --- c provides gzip-compressed unchunk data

In both scenario 1 and 2, client can receive data well. However, in scenario 3, client can not receive data. Therefore, I tried to compare scenario 2 and 3 on soap envelope sent by c and soap envelope received by a. For data sent by c, scenario 2 has a hex number right before the compressed binary block, while scenario 3 does not have. Seems this hex number is length of binary block. For data recieved by a, in scenario 3, a received compressed data with content-length 0.

I wonder if apache http server in b tries to interpret soap content and get no content-length, then apache puts some content-length=0 to repsonse header. In fact, I only need b works as a bridge, simply transfering whatever from c to a without any modification.

Is my problem caused by apache modifying content-length in response header? Is there any way to make apache only pass through data from c just as is?

Thanks,

Enping


Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! Try it!
[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux