HAproxy指南之haproxy重定向配置(案例篇)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAproxy指南之haproxy重定向配置(案例篇)相关的知识,希望对你有一定的参考价值。

 

  前面我们讲到了haproxy利用acl来实现haproxy动静分离,如果此时有这样一个需求,客户端请求xx.a.com,需要将请求转发到xx.b.com,又例如当客户端访问出错,我们需要将错误code代码提示请求到指定的错误页面,诸如此类需求实现,我们就需要利用haproxy的重定向功能来达到此目的。

一. 利用haproxy redir实现请求重定向

redir的用法: redir <prefix>

使用redir 会将发往当前站点服务的GET和HEAD请求均以302状态码响应发给需要重定向的server或站点点,需要注意的是,在prefix后面不能使用/,且不能使用相对地址,以避免造成循环,例如:

frontend  main *:80
   default_backend             app
backend app
   balance     roundrobin
   server node1 127.0.0.1:81 check weight 3 redir http://www.bluemobi.cn

又例如,如果我们要讲访问的站点重定向到baidu.com

frontend  main *:80
   default_backend             app
backend app
   balance     roundrobin
   server node1 127.0.0.1:81 check weight 3 redir http://www.baidu.cn


注意:redir只做跳转,如客户端输入:http://ip ,会将跳转到指定的页面上,此时客户端的页面的页面也会跳转到指定的页面上,之后所有的请求都会递交到该站点(前提该站点可以与客户端通讯),而不再发往haproxy代理站点。


二. 利用haproxy errorfile实现错误重定向

格式为: errorfile  错误代码code  错误代码文件路径

errorfile 即根据客户端页面错误code状态将指定的错误状态页面提示给客户端,比如友情提示页面,一般如下:

errorfile 403 /etc/haproxy/errorfiles/403.http
#当客户端出现403错误时,将位于/etc/haproxy/errorfiles的403错误页面发送给客户端
errorfile 500 /etc/haproxy/errorfiles/500.http
errorfile 502 /etc/haproxy/errorfiles/502.http
errorfile 503 /etc/haproxy/errorfiles/503.http
errorfile 504 /etc/haproxy/errorfiles/504.http

错误提示页面可以更加友好地提示客户端错误状态,比如做定制页面化跳转                                                             


本文出自 “菜鸟的成长记” 博客,请务必保留此出处http://blief.blog.51cto.com/6170059/1752669

以上是关于HAproxy指南之haproxy重定向配置(案例篇)的主要内容,如果未能解决你的问题,请参考以下文章

HAproxy指南之haproxy配置详解(理论篇)

高可用高性能负载均衡软件HAproxy详解指南-第三章:HAproxy实例

用于 HTTP 但不是 WebSockets 的 HAProxy SSL 重定向

如何使用haproxy进行url路径重定向,非域名跳转

配置 Haproxy 前端以在请求等于 Host/A/* 时将客户端请求从 Host/A/* 重定向到 Host/B/*

Haproxy 的重定向跳转设置 - 运维小结