|
NAMEToadfarm::Manual::BehindReverseProxy - Toadfarm behind nginx DESCRIPTIONThis is useful when you want to run Toadfarm behind a reverse proxy, such as "nginx". Nginx configThe "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 Host $host;
proxy_set_header X-Request-Base http://$host/myapp;
proxy_pass http://myapp;
}
}
Toadfarm scriptThe magic part here is the "X-Request-Base" HTTP header which is set by "nginx". In addition, you need to set "proxy" to "1" so Mojo::Server::Daemon can behave correctly. #!/usr/bin/perl
use Toadfarm -init;
mount "/home/www/project1/script/app1" => {
"X-Request-Base" => "http://domain.com/myapp",
};
start [ "http://*:8080" ], proxy => 1, workers => 8;
SEE ALSO<http://wiki.nginx.org/HttpProxyModule> <http://wiki.nginx.org/HttpUpstreamModule> AUTHORJan Henning Thorsen - "jhthorsen@cpan.org"
|