设为首页 收藏本站
查看: 1195|回复: 0

[经验分享] HAproxy的重定向及读写分离

[复制链接]

尚未签到

发表于 2019-1-2 06:03:49 | 显示全部楼层 |阅读模式
  HAproxy安装配置重定向及读写分离
  

  server1:172.25.88.1

  server3:172.25.88.3
  server4:172.25.88.4
简单配置
server1:
  yum install haproxy -y
  vim /etc/haproxy/haproxy.cfg
60 #---------------------------------------------------------------------
61 # main frontend which proxys to the backends
62 #---------------------------------------------------------------------
63 #frontend  main *:5000
64 #    acl url_static       path_beg       -i /static /images /javascript /stylesheets
65 #    acl url_static       path_end       -i .jpg .gif .png .css .js
66 #
67 #    use_backend static          if url_static
68 #    default_backend             app
69 #
70 #---------------------------------------------------------------------
71 # static backend for serving up images, stylesheets and such
72 #---------------------------------------------------------------------
73 #backend static
74 #    balance     roundrobin
75 #    server      static 127.0.0.1:4331 check
76 #
77 #---------------------------------------------------------------------
78 # round robin balancing between the various backends
79 #---------------------------------------------------------------------
  listen westos *:80
  balance     roundrobin
  server      web1 172.25.88.3:80 check
  server      web2 172.25.88.4:80 check

89 listen admin *:8080         haproxy 监控页面:用浏览器访问172.25.88.1:8080/status
90         stats   enable
91         stats uri /status   监控页面地址
92         stats auth admin:westos     用户名:密码
93         stats refresh 5sserver3:
  yum install httpd -y
server4:
  yum install httpd -y
检验:
  浏览器访问172.25.88.1    rr:3/4

  

  

  浏览器访问172.25.88.1:8080/status

HAproxy日志
  日志默认存入rsyslog,要查看的话,需要打开rsyslog
  

  server1:
  

  vim /etc/rsyslog.conf
13 $ModLoad imudp          接受 haproxy 日志
14 $UDPServerRun 514
42 *.info;mail.none;authpriv.none;cron.none;local2.none         /var/log/messages
62 local2.*    /var/log/haproxy.log    单独存一份  

  /etc/init.d/rsyslog start
  tail -f /var/log/haproxy.log
  


server1:
  vim /etc/haproxy
86 frontend westos *:80
87         acl url_static       path_beg       -i  /images
88         acl url_static       path_end       -i .jpg .gif .png
89         use_backend static          if url_static
90         default_backend app
91
92 backend static  后端静态
93     balance     roundrobin
94     server  web1 172.25.88.3:80 check
95
96 backend app
97     balance     roundrobin
98     server  web2 172.25.88.4:80 check  server3:
  

  /etc/init.d/httpd start
  ll  /var/www/html/images/
OSI.gif  redhat.jpg
  


  访问的是server3,因为只有server3才有images目录
server4:
  /etc/init.d/httpd start

  

  

重定向
  


server1:

  先设置黑名单
  vim /etc/haproxy
90         acl badhost src 172.25.88.250
91         block if badhost  直接给用户返回403,不太友好,所以重定向应运而生


错误重定向(403)
  vim /etc/httpd/conf/httpd.conf
Listen 8000
  vim /var/www/html/index.html
攻城师正在修复ING...
其实我就是不想让你访问!!!啦啦啦!
server1:
  vim /etc/haproxy
90         acl badhost src 172.25.88.250
91         block if badhost
92         errorloc 403 http://172.25.88.1:8000  badhost(172.25.88.250)在浏览器中访问172.25.88.1 自动跳转到http://172.25.88.1:8000
  


  

黑名单重定向
server1:
        acl  badhost src 172.25.88.250
    redirect location http://172.25.88.1:8000 if  badhost  badhost(172.25.88.250)在浏览器中访问172.25.88.1 自动跳转到http://172.25.4.11:8000
RS全挂了以后(302临时重定向)
  server4:
  

  /etc/init.d/httpd stop
  

  server1:
  

  vim /etc/haproxy
103 backend app
104     balance     roundrobin
105     server  web2 172.25.88.4:80 check
106     server  local 172.25.88.1:8000 backup  访问172.25.88.1,跳转到8000  显示工程师正在修复ING(页面需要自己写)
  网易:301    永久重定向     cdn
  302    临时重定向,不推荐
  


  

  server1:
  

  vim /etc/haproxy
94         redirect code 301 location http://172.25.88.1:8000 if badhost
如果不写301,只写code默认是302,临时重定向



网页重定向
1.访问westos.org自动跳转到www.westos.org
  真机:
  
  vim /etc/hosts
172.25.88.1     server1.lalala.com www.westos.org westos.orgserver1:
  vim /etc/haproxy
acl westos.org hdr_beg(host) -i westos.org
redirect code 301 location http://www.westos.org if westos.org








2.访问IP自动跳转到域名
server1:
  vim /etc/haproxy

acl 172.25.88.1 hdr(host) -i 172.25.88.1
redirect code 301 location http://www.westos.org if 172.25.88.1




读写分离
server11:
  vim /etc/haproxy
106         acl read method GET
107         acl read method HEAD
108         acl write method PUT
109         acl write method POST
119     use_backend app          if write
120     default_backend static
123 backend static
124         balance     roundrobin
125         server      web1 172.25.88.3:80 check    读
126
127 backend  app
128         balance     roundrobin
129         server      web2 172.25.88.4:80 check    写server3,server4:
  yum install php -y
cd /var/www/html/upload/
  mv * ..
  chmod 777 upload
  server3和server4的upload都有读写权限哦~
  


  


  

  记得将upload中的size改大一点.
&& ($_FILES["file"]["size"] < 20000000))  /etc/init.d/httpd restart   因为装了php模块,还是重启一下吧~
检测
  在浏览器中访问www.westos.org/images
  

  因为只有server3中有images ,server4中没有,所以读端在server3
  


  

  

  上传图片(写)在server4的upload中
  
尽管server3,server4的upload都是777



  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658391-1-1.html 上篇帖子: 负载均衡调度器之haproxy 下篇帖子: haproxy启动报错:'cpu
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表