我需要设置一个反向代理,它将把请求转发到正确的应用服务器。例如,有两个应用程序服务器在后台运行。一台服务器运行Rails,另一台运行Django。如果请求进入我的反向代理,它会将该请求定向到Rails应用服务器。如果Rails应用服务器因为不支持该请求而无法为该请求提供服务,Rails应用服务器将向反向代理返回404,反向代理将把请求定向到Django应用服务器(应该是正确的)。
有没有人知道这个栈的一个好的设置,或者这个反向代理的一个好的候选者?与Ruby相关的东西将是好的,但不是必须的。
发布于 2012-03-01 17:08:37
server {
Location / {
error_page 404 /django$request_uri;
rewrite ^/django_specific_url_1$ /django$request_uri? last;
rewrite ^/django_specific_url_2$ /django$request_uri? last;
...
rewrite ^/django_specific_url_n$ /django$request_uri? last;
proxy_pass http://127.0.0.1:ruby_port;
}
Location /django {
internal;
proxy_pass http://127.0.0.1:django_port$request_uri;
}
}
发布于 2012-03-01 03:45:46
我使用Squid作为我的反向代理。效果很好。http://wiki.squid-cache.org/SquidFaq/ReverseProxy
https://stackoverflow.com/questions/9510318
复制