You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/08/10 08:22:33 UTC

DO NOT REPLY [Bug 30553] - mod_mem_cache duplicating querystring on request to server that it is proxying

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=30553>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=30553

mod_mem_cache duplicating querystring on request to server that it is proxying

apache@ggr8.net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         OS/Version|Other                       |Windows XP
           Platform|Other                       |PC
            Summary|mod                         |mod_mem_cache duplicating
                   |                            |querystring on request to
                   |                            |server that it is proxying



------- Additional Comments From apache@ggr8.net  2004-08-10 06:22 -------
When using mod_rewrite with mod_proxy, mod_cache and mod_mem_cache to reverse 
proxy a Zope/Plone server, every second time a page with a query string is 
requested by Apache from Zope the query string is duplicated.

This is somewhat similar to this bug: 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13577 but I only experience 
this problem with mod_mem_cache enabled.

Here is the rewrite rule - only the directory gallery is run from the Zope 
server:

RewriteCond %{REQUEST_URI}    ^/gallery*
RewriteRule ^/gallery/(.*)     http://xx.xx.xx.xx:8080/VirtualHostBase/http/%
{HTTP_HOST}:80/Plone/gallery/VirtualHostRoot/_vh_gallery/$1 [P,L]

(the VirtualHostBase and VirtualHostRoot and _vh_ parts of the URL are specific 
to Zope for the alteration of links generated in the page to suit being reverse 
proxied - http://mptc.eng.cmu.ac.th/docs/zope-book/VirtualHosting.html)


The duplication of the query string can be seen in the zope logs (modified for 
security/paranoia). "?SearchableText=text" is duplicated on some requests:

xx.xx.xx.xx - Anonymous [10/Aug/2004:15:11:17 
+1000] "GET /VirtualHostBase/http/www.xx.com:80/Plone/gallery/VirtualHostRoot/_v
h_gallery/pictures/search?SearchableText=test HTTP/1.1" 200 
41353 "http://www.xx.com/gallery/pictures/photoalbum_view" "Mozilla/4.0"

xx.xx.xx.xx - Anonymous [10/Aug/2004:15:11:19 
+1000] "GET /VirtualHostBase/http/www.xx.com:80/Plone/gallery/VirtualHostRoot/_v
h_gallery/pictures/search?SearchableText=test?SearchableText=test HTTP/1.1" 404 
25883 "http://www.xx.com/gallery/pictures/photoalbum_view" "Mozilla/4.0"

xx.xx.xx.xx - Anonymous [10/Aug/2004:15:11:20 
+1000] "GET /VirtualHostBase/http/www.xx.com:80/Plone/gallery/VirtualHostRoot/_v
h_gallery/pictures/search?SearchableText=test HTTP/1.1" 200 
41353 "http://www.xx.com/gallery/pictures/photoalbum_view" "Mozilla/4.0"

xx.xx.xx.xx - Anonymous [10/Aug/2004:15:11:22 
+1000] "GET /VirtualHostBase/http/www.xx.com:80/Plone/gallery/VirtualHostRoot/_v
h_gallery/pictures/search?SearchableText=test?SearchableText=test HTTP/1.1" 404 
25883 "http://www.xx.com/gallery/pictures/photoalbum_view" "Mozilla/4.0"


Zope does not handle the duplication of "?SearchableText=text" and throws a 404 
page back - which is displayed to the user.


I also turned on RewriteLogLevel 3 to try and track this down - here is 
rewrite.log (sorry - clock on server running apache is ~2 mins fast):

yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (2) init rewrite engine with requested 
uri /gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (3) applying pattern '/(.*)' to 
uri '/gallery/pictures/search'
yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (3) applying pattern '^/gallery/(.*)' to 
uri '/gallery/pictures/search'
yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (2) rewrite /gallery/pictures/search -> 
http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/gallery/Vi
rtualHostRoot/_vh_gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (2) forcing proxy-throughput with 
http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/gallery/Vi
rtualHostRoot/_vh_gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:40 +1000] [www.xx.com/sid#46f930]
[rid#3ace2f0/initial] (1) go-ahead with proxy request 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/gall
ery/VirtualHostRoot/_vh_gallery/pictures/search [OK]

yy.yy.yy.yy - - [10/Aug/2004:15:13:41 +1000] [www.xx.com/sid#46f930]
[rid#3ad6400/initial] (2) uri already rewritten. Status 1, 
Uri /gallery/pictures/search, r->filename 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/gall
ery/VirtualHostRoot/_vh_gallery/pictures/search?SearchableText=test
yy.yy.yy.yy - - [10/Aug/2004:15:13:41 +1000] [www.xx.com/sid#46f930]
[rid#3ad6400/initial] (1) go-ahead with proxy request 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/gall
ery/VirtualHostRoot/_vh_gallery/pictures/search?SearchableText=test [OK]

yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (2) init rewrite engine with requested 
uri /gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (3) applying pattern '/(.*)' to 
uri '/gallery/pictures/search'
yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (3) applying pattern '^/gallery/(.*)' to 
uri '/gallery/pictures/search'
yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (2) rewrite /gallery/pictures/search -> 
http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/Plone/gallery/Virtual
HostRoot/_vh_gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (2) forcing proxy-throughput with 
http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/Plone/gallery/Virtual
HostRoot/_vh_gallery/pictures/search
yy.yy.yy.yy - - [10/Aug/2004:15:13:43 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (1) go-ahead with proxy request 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/Plone/gallery/V
irtualHostRoot/_vh_gallery/pictures/search [OK]

yy.yy.yy.yy - - [10/Aug/2004:15:13:44 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (2) uri already rewritten. Status 1, 
Uri /gallery/pictures/search, r->filename 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/Plone/gallery/V
irtualHostRoot/_vh_gallery/pictures/search?SearchableText=test
yy.yy.yy.yy - - [10/Aug/2004:15:13:44 +1000] [www.xx.com/sid#46f930]
[rid#3b8dcd8/initial] (1) go-ahead with proxy request 
proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/Plone/gallery/V
irtualHostRoot/_vh_gallery/pictures/search?SearchableText=test [OK]


As explained above I only experience this problem with mod_mem_cache enabled. 
With mod_disk_cache or no mem_cache I do not get this problem. I checked the 
rewrite.log on a test of using mod_disk_cache and the the line that occurs 
after "uri already rewritten" -
 "proxy:http://xx.xx.xx.xx:8080/VirtualHostBase/http/www.xx.com:80/pbcGallery/ga
llery/VirtualHostRoot/_vh_gallery/pictures/search?SearchableText=test" with the 
query string in the proxy request does not occur. I think it is here that the 
query string is been duplicated. Even though the querystring is not shown on 
the other proxy requests, it must be added to the base url after this point, 
and is duplicated for these "uri already rewritten" situations

If any more details are needed please email me. Even though this appeared on 
Windows, I am guessing that it would also be occuring on other platforms.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org