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