Re: mod_proxy doesn't proxy with %2F

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

 



* on the Wed, Mar 07, 2007 at 10:28:22AM +0000, Mike Cardwell wrote:

> Using the standard Redhat Enterprise 4, Apache 2.0.52 RPMs here. I have
> a CommunigatePro server. It runs it's own http daemon for the
> administration interface, and webmail. We needed to extend it in several
> ways, so I stuck an Apache mod_proxy in front of it. Here's the config I
> used which works fine:
> 
> ProxyPass        / https://127.0.0.1:9100/
> ProxyPassReverse / https://127.0.0.1:9100/
> 
> However. When using webmail, if you go to view an attachment like for
> example "filename.txt" from message "message_id" in folder "INBOX" the
> url would look like:
> 
> https://the.domain/session/session_id/MessagePart/INBOX/message_id/filename.txt
> 
> That works absolutely fine. The problem is when the file is in a
> subfolder, eg "INBOX/Archive". Then the url becomes:
> 
> https://the.domain/session/session_id/MessagePart/INBOX%2FArchive/message_id/filename.txt
> 
> With the url above, mod_proxy simply does *nothing*, I get an Apache 404
> error message because the path doesn't exist locally because mod_proxy
> hasn't attempted to do the proxying. I've used tcpdump to verify that
> there is no connection to port 9100 when I make the request.
> 
> Is this a bug, or am I doing something dumb?

This was on the dev list. I've brought it onto the users list as I no
longer think it's a bug as such. Please see my original email above, and
my update below for the issue.

Right. I've made a *little* progress. Reading the core docs I found:

"The AllowEncodedSlashes directive allows URLs which contain encoded path
separators (%2F for /  and additionally %5C for \ on according systems)
to be used. Normally such URLs are refused with a 404 (Not found)
error."

So these requests are being 404'd simply for containing %2F's in the
path. When I turn on encoded slashes with:

AllowEncodedSlashes On

It starts to proxy. But it starts to proxy the wrong thing

Requests for:
https://the.domain/session/session_id/MessagePart/INBOX%2FArchive/message_id/filename.txt

Get proxied to:

https://127.0.0.1:9100/session/session_id/MessagePart/INBOX/Archive/message_id/filename.txt

I need it to be proxied to:

https://127.0.0.1:9100/session/session_id/MessagePart/INBOX%2FArchive/message_id/filename.txt

Where do I go from here?

Mike

---------------------------------------------------------------------
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@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[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