如果您通过反向代理访问文件,并且找不到文件(返回404),apache2 / mod_proxy是否可以通过另一个反向代理自动检查另一台服务器上的文件?
工作stream程如下:1.请求服务器上的文件做反向代理2.服务器在服务器A上查找文件3.在服务器A上找不到文件,所以它检查服务器B 4.在服务器B上find文件,所以它被返回。
我已经知道其他产品可以做到这一点,但我很好奇,如果mod_proxy可以做到这一点?
有办法,但不使用404,说实话这是一个坏主意。
首先,将maxattempts设置为大于1的数字。将nofailover设置为Off 。
然后在没有保存你想要的对象的后端,当你想要尝试下一个时返回一个503。 (503 = HTTP_SERVICE_UNAVAILABLE)
尽pipe如此,这在现实生活中将不起作用。 Apache没有办法猜测什么是真正的503错误,什么是“尝试其他服务器”错误。 换句话说,它会打破真正的404检测。 没有办法发出404“页面没有find”的错误,因为你总是会返回“服务不可用”的错误后,阿帕奇放弃尝试所有的服务器。
此外,你在这里尝试做的事情不是一个好主意,恕我直言。 您应该在您的Apache Proxy上configuration适当的映射,并根据请求的URL分配服务器。
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#forwardreverse