当前位置: 首页 > news >正文

自定义HAProxy 错误界面

对指定的报错进行重定向,进行优雅的显示错误页面
使用errorfileerrorloc指令的两种方法,可以实现自定义各种错误页面
#haproxy默认使用的错误错误页面
[root@haproxy ~]# rpm -ql haproxy24z-2.4.27-1.el7.zenetys.x86_64 | grep -E http$
/usr/share/haproxy/400.http
/usr/share/haproxy/403.http
/usr/share/haproxy/408.http
/usr/share/haproxy/500.http
/usr/share/haproxy/502.http
/usr/share/haproxy/503.http
/usr/share/haproxy/504.http
基于自定义的错误页面文件
#自定义错误页
errorfile <code> <file>
<code> #HTTP status code.支持200, 400, 403, 405, 408, 425, 429, 500, 502,503,504
<file> #包含完整HTTP响应头的错误页文件的绝对路径。 建议后缀".http",以和一般的html文件相区分
#示例:
errorfile 503 /haproxy/errorpages/503page.http

[root@haproxy ~]# cat /haproxy/errorpages/503page.http
HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
Content-Type: text/html;charset=UTF-8<html><body><h1>什么动物生气最安静</h1>
大猩猩!!
</body></html>[root@haproxy ~]#

测试:

 基于http重定向错误页面
#错误页面重定向
errorloc <code> <url>
#相当于errorloc302 <code> <url>,利用302重定向至指URL
#示例:
errorloc 503 https://www.baidu.com

 #浏览器访问192.168.217.100 自动跳转到百度

HAProxy 四层负载

针对除HTTP以外的TCP协议应用服务访问的应用场景

MySQL
Redis
Memcache
RabbitMQ

四层负载示例

注意:如果使用frontendbackend,一定在 frontend backend 段中都指定mode tcp

listen mysql-port
bind 10.0.0.7:6379
mode tcp
balance leastconn
server server1 192.168.217.10:3306 check
server server2 192.168.217.20:3306 check backup

例:对MYSQL服务实现四层负载

#---------------------------------------------------------------------
listen webservermode        httpbind        *:80balance     roundrobinserver web1 192.168.217.10:80 check inter 3s fall 5 rise 3server web2 192.168.217.20:80 check inter 3s fall 5 rise 3
listen mysql_protmode        tcpbind        *:3306balance     roundrobinserver mysql1 192.168.217.10:3306 check inter 3s fall 5 rise 3server mysql2 192.168.217.20:3306 check##---------------------------------------------------------------------

在RS1和RS2上安装mariadb服务

[root@RS1 ~]# yum install mariadb-server -y
[root@RS2 ~]# yum install mariadb-server -y[root@RS1 ~]# vim /etc/my.cnf.d/mariadb-server.cnf[root@RS2 ~]# vim /etc/my.cnf.d/mariadb-server.cnf

然后启动mariadb服务

授权所有功能

rs1 ~]# mysql -e "grant all on *.* to lee@'%' identified by 'lee';"
rs2 ~]# mysql -e "grant all on *.* to lee@'%' identified by 'lee';"

在client上测试

 

证书生成

openssl req  -newkey rsa:2048 -nodes  -sha256 -keyout /etc/haproxy/certs/timinglee.org.key -x509 -days 365 -out /etc/haproxy/certs/timinglee.org.crt
[root@haproxy ~]# cd /etc/haproxy/certs/、
[root@haproxy certs]# cat timinglee.org.key timinglee.org.crt >timinglee.pem

使用浏览器访问就可以看到生成的证书

http://www.dtcms.com/a/293315.html

相关文章:

  • 微调大语言模型(LLM)有多难?
  • 西门子博图FB引脚解析,与FC的区别
  • Zabbix 6.0+ 使用官方模板监控 Redis 数据库的完整配置指南
  • KIMI K2:开放式的智能体(Agentic)人工智能
  • 基于卷积神经网络与小波变换的医学图像超分辨率算法复现
  • 基础工具安装
  • API: return response as HTML table
  • Redis 八股面试题
  • 软件测试面试避坑
  • 【Unity Shader】Special Effects(十一)RgbOffset RGB偏移(UI)
  • 初识卷积神经网络CNN
  • jupyter使用
  • JAVA_ONE-NINE_ATM机案例
  • 秋招Day17 - Spring - 事务
  • 【JavaEE】认识计算机(二)
  • useOptimistic介绍和使用闭坑
  • 机器学习/归一化
  • MS523NA非接触式读卡器 IC
  • 如何在 Windows 10 下部署多个 PHP 版本7.4,8.2
  • adb的使用
  • Java(Set接口和HashSet的分析)
  • SpringBoot全局异常报错处理和信息返回
  • 米家打印机驱动:Wi-Fi 无线打印丝滑顺畅不卡顿,从此告别对打印机干瞪眼
  • Java基础 7.22
  • 原型模式及优化
  • C++11相关知识点
  • 自动化测试报告生成【Allure】
  • Linux--指令初识
  • 一文读懂DQN改进算法(Double DQN+Dueling DQN)—强化学习(7)
  • Docker实战系列:使用Docker部署AI SSH客户端工具IntelliSSH