NAME
Toadfarm::Manual::BehindReverseProxy - Toadfarm behind nginx
DESCRIPTION
This is useful when you want to run Toadfarm behind a reverse proxy, such as nginx
.
Nginx config
The "rewrite" rule is very important, since it will remove the "/myapp" part from the request URL that the Mojolicious route dispatcher will see.
upstream myapp {
server 10.11.12.13:8001;
}
server {
listen 80;
server_name domain.com
location /myapp {
rewrite ^/myapp/?(.*)$ /$1 break;
proxy_set_header X-Request-Base http://$host/myapp;
proxy_pass http://myapp;
}
}
Toadfarm config
The magic part here is the "X-Request-Base" HTTP header which is set by nginx
.
{
apps => [
'/home/www/project1/script/app1' => {
'X-Request-Base' => 'http://domain.com/myapp',
},
],
hypnotoad => {
workers => 8,
pid_file => '/tmp/toadfarm.pid',
listen => [ "http://*:8080" ],
},
};
SEE ALSO
http://wiki.nginx.org/HttpProxyModule
http://wiki.nginx.org/HttpUpstreamModule
AUTHOR
Jan Henning Thorsen - jhthorsen@cpan.org