Re: [users@httpd] ProxyPass with exceptions

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

 



I just had a similar problem. What is happening is as follows....

ProxyPass /cob http://192.168.1.1/cob
ProxyPassReverse /cob http://192.168.1.1/cob

catches /cob, but not cob/webappage.nsf

the proxypass is working on the directory level only and not whats
below it in the directory tree.

So ...

ProxyPass / http://192.168.1.3/
ProxyPassReverse /  http://192.168.1.3/

is actually catching /cob/webappage.nsf


The way I got around this is by using mod_rewrite with the [p] option
for a more control. Here is an example..


RewriteRule ^/cob$ http://192.168.1.1/cob/ [R,NC] ## what this does is add the trailing slash if not there. RewriteRule ^/cob/(.*) http://192.168.1.1/cob/$1 [P,NC] ## this will catch /cob/webappage.nsf and anything else after cob

## Then below it will send everything else to your IIS box.
ProxyPass / http://192.168.1.3/
ProxyPassReverse / http://192.168.1.3/


sniedermeyer@xxxxxxx wrote:
I'm trying to use the ProxyPass directive but am having mixed results on
our Apache 2.2.2 reverse proxy server.  Here is my config:

ProxyPass /cob http://192.168.1.1/cob
ProxyPassReverse /cob http://192.168.1.1/cob
ProxyPass /web http://192.168.1.1/web
ProxyPassReverse /web http://192.168.1.1/web

ProxyPass /audio http://192.168.1.2:7756/audio
ProxyPassReverse /audio http://192.168.1.2:7756/audio
ProxyPass /video http://192.168.1.2:7757/video
ProxyPassReverse /video http://192.168.1.2:7757/video

ProxyPass / http://192.168.1.3/
ProxyPassReverse /  http://192.168.1.3/

In above example, the ProxyPass directives related to the audio and video
application server are working.  For example, when I type in
www.mydomain.com/video/xxxxx.wmv, I get the correct video and it streams
properly.

However, when I try typing in something like
http://www.mydomain.com/cob/webapppage.nsf, I get an IIS error that the
page cannot be found.  The odd thing about this, as you may have guessed
from the URL, is that the server hosting the webapppage.nsf is a Domino
server and shouldn't be returning an IIS error.  I'm guessing the last set
of directives above is forcing the request through the 192.168.1.3 server
which is an IIS server.  In addition, when I hit the refresh button on the
page cannot be found, it eventually comes up properly.

Is the last group of directives above stomping on the directives before
them?  I tried using a proxypass /cob ! and proxypass /web ! as part of the
last group of directives, hoping the directives above them would still
proxy those requests correctly, but prevent the 192.168.1.3 IIS server from
getting them based on the proxypass / http://192.168.1.3 directive.

Any ideas why this would be happening or if there is a better configuration
to accomplish what I'm trying to do?

Here's an excerpt of the access log on the reverse proxy server:

192.168.1.200 - - [21/Sep/2006:09:52:44 -0700] "GET /cob/webapppage.nsf
HTTP/1.1" 404 1635 "http://www.mydomain.com/reports.htm"; "Mozilla/4.0
(compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET
CLR 2.0.50727)"
192.168.1.200 - - [21/Sep/2006:09:52:45 -0700] "GET /cob/webapppage.nsf
HTTP/1.1" 302 - "http://www.mydomain.com/reports.htm"; "Mozilla/4.0
(compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET
CLR 2.0.50727)"

Here's an excerpt of the error logs with debugging turned from the reverse
proxy server:

[Thu Sep 21 09:52:44 2006] [debug] mod_proxy_http.c(54): proxy: HTTP:
canonicalising URL //192.168.1.1/cob/webapppage.nsf
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(1373): [client
172.16.14.140] proxy: http: found worker http://192.168.1.1/cob for
http://192.168.1.1/cob/webapppage.nsf, referer:
http://www.mydomain.com/reports.htm
[Thu Sep 21 09:52:44 2006] [debug] mod_proxy.c(736): Running scheme http
handler (attempt 0)
[Thu Sep 21 09:52:44 2006] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://192.168.1.1/cob/webapppage.nsf
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(1811): proxy: connecting
http://192.168.1.1/cob/webapppage.nsf to 192.168.1.1:80
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(1911): proxy: connected
/cob/webapppage.nsf to 192.168.1.3
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(2005): proxy: HTTP: fam 2
socket created to connect to 192.168.1.1
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 192.168.1.3 (192.168.1.3)
[Thu Sep 21 09:52:44 2006] [debug] mod_proxy_http.c(1443): proxy: start
body send
[Thu Sep 21 09:52:44 2006] [debug] mod_proxy_http.c(1530): proxy: end body
send
[Thu Sep 21 09:52:44 2006] [debug] proxy_util.c(1769): proxy: HTTP: has
released connection for (192.168.1.3)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(54): proxy: HTTP:
canonicalising URL //192.168.1.1/cob/webapppage.nsf
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1373): [client
172.16.14.140] proxy: http: found worker http://192.168.1.1/cob for
http://192.168.1.1/cob/webapppage.nsf, referer:
http://www.mydomain.com/reports.htm
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy.c(736): Running scheme http
handler (attempt 0)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://192.168.1.1/cob/webapppage.nsf
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1754): proxy: HTTP: has
acquired connection for (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1811): proxy: connecting
http://192.168.1.1/cob/webapppage.nsf to 192.168.1.1:80
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1911): proxy: connected
/cob/webapppage.nsf to 192.168.1.1:80
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2005): proxy: HTTP: fam 2
socket created to connect to 192.168.1.1
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 192.168.1.1:80 (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1443): proxy: start
body send
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1530): proxy: end body
send
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1769): proxy: HTTP: has
released connection for (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(54): proxy: HTTP:
canonicalising URL //192.168.1.1/cob/webapppage.nsf/pgWeb
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1373): [client
172.16.14.140] proxy: http: found worker http://192.168.1.1/cob for
http://192.168.1.1/cob/webapppage.nsf/pgWeb?OpenPage, referer:
http://www.mydomain.com/reports.htm
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy.c(736): Running scheme http
handler (attempt 0)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://192.168.1.1/cob/webapppage.nsf/pgWeb?OpenPage
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1754): proxy: HTTP: has
acquired connection for (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1811): proxy: connecting
http://192.168.1.1/cob/webapppage.nsf/pgWeb?OpenPage to 192.168.1.1:80
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1911): proxy: connected
/cob/webapppage.nsf/pgWeb?OpenPage to 192.168.1.1:80
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2005): proxy: HTTP: fam 2
socket created to connect to 192.168.1.1
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 192.168.1.1:80 (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1443): proxy: start
body send
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1530): proxy: end body
send
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1769): proxy: HTTP: has
released connection for (192.168.1.1)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(54): proxy: HTTP:
canonicalising URL //192.168.1.3/css/default.css
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1373): [client
172.16.14.140] proxy: http: found worker http://192.168.1.3/ for
http://192.168.1.3/css/default.css, referer:
http://www.mydomain.com/cob/webapppage.nsf/pgWeb?OpenPage
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy.c(736): Running scheme http
handler (attempt 0)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://192.168.1.3/css/default.css
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1754): proxy: HTTP: has
acquired connection for (192.168.1.3)
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1811): proxy: connecting
http://192.168.1.3/css/default.css to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1911): proxy: connected
/css/default.css to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2005): proxy: HTTP: fam 2
socket created to connect to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 192.168.1.3 (192.168.1.3)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1534): proxy: header
only
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(54): proxy: HTTP:
canonicalising URL //192.168.1.3/source/img/web_whitemod.jpg
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1373): [client
172.16.14.140] proxy: http: found worker http://192.168.1.3/ for
http://192.168.1.3/source/img/web_whitemod.jpg, referer:
http://www.mydomain.com/cob/webapppage.nsf/pgWeb?OpenPage
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy.c(736): Running scheme http
handler (attempt 0)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1661): proxy: HTTP:
serving URL http://192.168.1.3/source/img/web_whitemod.jpg
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1754): proxy: HTTP: has
acquired connection for (192.168.1.3)
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1811): proxy: connecting
http://192.168.1.3/source/img/web_whitemod.jpg to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(1911): proxy: connected
/source/img/web_whitemod.jpg to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2005): proxy: HTTP: fam 2
socket created to connect to 192.168.1.3
[Thu Sep 21 09:52:45 2006] [debug] proxy_util.c(2101): proxy: HTTP:
connection complete to 192.168.1.3 (192.168.1.3)
[Thu Sep 21 09:52:45 2006] [debug] mod_proxy_http.c(1534): proxy: header
only

____________________________
Steven Niedermeyer
Bellingham, WA


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


--
Nick Ascione
Sr. Systems Software Engineer
The Johns Hopkins University University Administration IT@JH-Enterprise Networking Serv 5801 Smith Ave. Davis Bldg 3110B Baltimore, MD 21209
410-735-7714


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