proxy_pass to multi background monit http services
Igor Sysoev
is at rambler-co.ru
Tue Mar 24 08:57:18 MSK 2009
On Mon, Mar 23, 2009 at 10:39:13PM +0100, Chris Kraybill wrote:
> Seven Du wrote:
> > monit has an embedded web interface, I want to use nginx to proxy
> > several servers:
> >
> > http://monit.example.com/server1
> > http://monit.example.com/server2
> > http://monit.example.com/server3
> > http://monit.example.com/server4
> >
> >
> > location /server1/ {
> > rewrite ^/sever1/(.*) /$1 break;
> > proxy_pass http://localhost:2812; #monit default port
> > }
> > location /server2/ {.....}
> >
> > The first page of each monit server displays well but because all links
> > in monit has absolute path http://monit.example.com/some_link instead of
> > http://monit.example.com/server1/some_link, I don't know hot to make
> > that work.
> >
> >
>
> Had the same problem. I was running monit 4.8 and running into the same
> issues. You need monit 4.9 or later to handle reverse proxying. This
> post helped me get monit 4.10 installed without re-compiling from
> source: http://route19.com/logbook/view/monit-410-on-ubuntu-804.
>
> > Can nginx do that? or we need to modify monit?
>
> So the answer is yes, nginx can do this with the proper version of
> monit. Here's the relevant nginx set-up that worked for me:
>
> location /monit/ {
> auth_basic "Restricted";
> auth_basic_user_file /etc/nginx/auth.passwd;
> rewrite ^/monit/(.*) /$1 break;
> proxy_pass http://127.0.0.1:2812/;
> }
You do not need rewrite here - proxy_pass rewrite /monit/* to /* by itself:
location /monit/ {
...
- rewrite ^/monit/(.*) /$1 break;
proxy_pass http://127.0.0.1:2812/;
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list