apache reverse proxy refused to transfer gzip-compressed soap

This is a discussion on apache reverse proxy refused to transfer gzip-compressed soap within the Apache forums in Application Servers & Tools category; Hi all,I am trying to setup a reverse proxy to transfer data based on soap.Let's say we have three machines:a --- clientb --- reverse proxy server with apache 2.2.0 installedc --- data provider using mod_gsoap.dll, provide asoap envelope with data inside.In b, I only made following change to http.conf:Enable following lines ---LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.soLoadModule proxy_modulemodules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_connect_module modules/mod_proxy_connect.soAdd 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 dataScenario 2 --- c provides gzip-compressed chunk dataScenario 3 --- c ...

Go Back   Application Development Forum > Application Servers & Tools > Apache

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 04-05-2007, 03:40 PM
tu enping
Guest
 
Default apache reverse proxy refused to transfer gzip-compressed soap

Hi all,I am trying to setup a reverse proxy to transfer data based on soap.Let's say we have three machines:a --- clientb --- reverse proxy server with apache 2.2.0 installedc --- data provider using mod_gsoap.dll, provide asoap envelope with data inside.In b, I only made following change to http.conf:Enable following lines ---LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.soLoadModule proxy_modulemodules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_connect_module modules/mod_proxy_connect.soAdd 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 dataScenario 2 --- c provides gzip-compressed chunk dataScenario 3 --- c provides gzip-compressed unchunk dataIn
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!
http://spaces.live.com/spacesapi.asp...aspx&mkt=en-us
Reply With Quote
  #2  
Old 04-05-2007, 03:55 PM
Joshua Slive
Guest
 
Default Re: apache reverse proxy refused to transfer gzip-compressed soap

On 4/5/07, tu enping <tuenping@hotmail.com> wrote:

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


In general, an apache operating in proxy mode will not care at all
about what is in the data, so I think you are looking in the wrong
place for your problem.

The problem is the Content-Length header being set to zero. Have you
checked the content-length header on the response from the origin to
the proxy (c to b in your notation)? What does it contain?

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 07:39 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.