[users@httpd] Re: ProxyPass with exceptions solution

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

 



Nick...you're my hero!  This looks like it's going to work wonderfully.
The rewrite directive is still a bit mysterious to me right now, but I'm
sure I'll get the hang of it in time.  A big thank you for helping to solve
this issue.

____________________________
Steven Niedermeyer
Bellingham, WA



                                                                           
             Nick Ascione                                                  
             <nick.ascione@jhu                                             
             .edu>                                                      To 
                                       users@xxxxxxxxxxxxxxxx              
             09/22/2006 07:31                                           cc 
             AM                                                            
                                                                   Subject 
                                       Re: [users@httpd] ProxyPass with    
             Please respond to         exceptions                          
             users@xxxxxxxxxxx                                             
                   e.org                                                   
                                                                           
                                                                           
                                                                           
                                                                           




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




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