HAProxy反向代理实例
1、环境准备:

| 设备 | IP地址 | 作用 | 系统版本 |
|---|---|---|---|
| web1 | 10.0.0.18 | Nginx-Web服务器 | Rocky8.6 |
| web2 | 10.0.0.28 | Nginx-Web服务器 | Rocky8.6 |
| Haproxy | 172.20.0.248、10.0.0.101 | 反向代理web+负载均衡 | Ubuntu2004 |
| DNS | 172.20.0.247 | DNS服务器 | Ubuntu2004 |
| client | 172.20.0.43 | 测试 | Rocky8.6 |
2、安装后端web服务器
#web服务器(10.0.0.18、10.0.0.28):
[root@rocky8 ~]#yum install -y nginx
[root@rocky8 ~]#echo `hostname -I` > /usr/share/nginx/html/index.html
3、配置HAProxy
[root@ubuntu2004 ~]#bash install_haproxy.sh #脚本参见:https://blog.51cto.com/dayu/5795076
[root@ubuntu2004 ~]#vim /usr/lib/systemd/system/haproxy.service
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf.d/ -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -f /etc/haproxy/conf.d/ -p /var/lib/haproxy/haproxy.pid
#证书制作
[root@ubuntu2004 ~]#mkdir /etc/haproxy/certs
[root@ubuntu2004 ~]#cd /etc/haproxy/certs
[root@ubuntu2004 certs]#openssl genrsa -out www.wang.org.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
.......................+++++
.+++++
e is 65537 (0x010001)
[root@ubuntu2004 certs]#openssl req -x509 -newkey rsa:2048 -subj "/CN=www.wang.org" -keyout www.wang.org.key -nodes -days 3650 -out www.wang.org.crt
Generating a RSA private key
........................+++++
......................................+++++
writing new private key to 'www.wang.org.key'
-----
[root@ubuntu2004 certs]#cat www.wang.org.key www.wang.org.crt > www.wang.org.pem
# 配置Https
[root@ubuntu2004 ~]#vim /etc/haproxy/conf.d/ha_test.cfg
frontend http_80
bind 172.20.0.248:80
bind 172.20.0.248:443 ssl crt /etc/haproxy/certs/www.wang.org.pem
redirect scheme https if !{ ssl_fc }
http-request set-header X-forwarded-Port %[dst_port]
http-request add-header X-forwarded-proto https if { ssl_fc }
mode http
balance roundrobin
log global
option httplog
use_backend servers
backend servers
mode http
server web01 10.0.0.18:80 check inter 3000 fall 3 rise 3
server web02 10.0.0.28:8008 check inter 3000 fall 3 rise 3
4、配置DNS
[root@ubuntu2004 ~]#apt install bind9 bind9-utils
[root@ubuntu2004 ~]#vim /etc/bind/named.conf.options
// dnssec-validation auto; #注释
[root@ubuntu2004 ~]#cd /etc/bind/
[root@ubuntu2004 bind]#vim named.conf.default-zones
zone "wang.org" {
type master;
file "/etc/bind/wang.org.zone";
};
[root@ubuntu2004 bind]#cp -p db.local wang.org.zone
$TTL 604800
@ IN SOA admin admin.wang.org. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS admin
admin IN A 172.20.0.247
www IN A 172.20.0.248
[root@ubuntu2004 bind]#systemctl restart bind9.service
[root@ubuntu2004 bind]#dig www.wang.org @127.0.0.1
......
;; ANSWER SECTION:
www.wang.org. 604800 IN A 172.20.0.248
......
5、客户端测试
[root@rocky8 ~]#vim /etc/resolv.conf
nameserver 172.20.0.247
[root@rocky8 ~]#curl -Lk www.wang.org
10.0.0.28
[root@rocky8 ~]#curl -Lk www.wang.org
10.0.0.18
[root@rocky8 ~]#curl -Lk www.wang.org
10.0.0.28
[root@rocky8 ~]#curl -Lk www.wang.org
10.0.0.18
HAProxy反向代理实例的更多相关文章
- haproxy反向代理配置示例
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Httpd Nginx Haproxy反向代理
Apache反向代理 部署httpd反向代理 准备工作: 三台虚拟机Ip地址分配: linux-node1:192.168.1.5 (源码编译httpd,并且配置proxy用于代理后端的httpd服务 ...
- Nginx、haproxy反向代理设置
Nginx反向代理配置: #user nobody; worker_processes ; events { worker_connections ; } http { include mime.ty ...
- linux之反向代理,反向代理实例,负载均衡实例
目录 nginx反向代理 1. 概述 2. 反向代理服务器的工作原理 (1)作为内容服务器的替身 (2)作为内容服务器的负载均衡器 二. nginx反向代理实例 1.前期准备 2.代理服务器配置 3. ...
- 项目详解4—haproxy 反向代理负载均衡
一.企业服务架构图及负载均衡的要求 1.场景说明 在企业生产环境中,每天会有很多的需求变更,比如增加服务器.新业务上线.url路由修改.域名配置等等,对于前端负载均衡设备来说,容易维护,复杂度低,是首 ...
- haproxy反向代理
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...
- haproxy反向代理环境部署(http和https代理)
操作背景:前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.150.192.168.1.151,没有公网i ...
- Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...
- 记一次haproxy反向代理配置
首先借用一下前辈的话,解释下反向代理是什么? 反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
随机推荐
- java-运算符与判断
运算符: 1)算术运算符:+-*/%,++,-- 进行加.减.乘.除.取余数.自增.自减 2)关系运算符:>,<,>=,<=,==,!= boolean类型 判断两个整形 ...
- C++ 添加程序图标到我的电脑
C++ 像我的电脑中 百度网盘的 那图标快捷方式.如何生成的呢?设置程序图标到我的电脑 请看下边代码 就ok了(*^__^*) 嘻嘻-- 类似下图: 大家如果看我下边的不是很清楚,可以下载这个具体工程 ...
- springboot中,子项目的boot依赖全部爆红
应仔细检查父项目的dependencyManagement是否指定了打包方式<type>为pom,<scope>为import
- jbd2的死锁分析
已经运行多年的jbd2,它还是死锁了 背景:这个是在centos7的环境上复现的,内核版本为3.10.0-957.27.2.el7 下面列一下我们是怎么排查并解这个问题的. 一.故障现象 oppo云内 ...
- 【java】学习路径26-泛型,集合使用自定义的类型
接着上一节的内容,上一节我们使用到了ArrayList.Vector.LinkedList三个集合类型. 但是目前我们有一个问题:如果集合中存储的是Integer类型的数据(int的引用类型),那我们 ...
- 【python】一些python用法规律笔记
作为本科用了多年MATLAB的工科生,学起来python有些似曾相识但也有些不习惯的地方. 在这里总结一下,慢慢整理,希望能巩固python语法 一.前闭后开 这个是和MATLAB很大不同.不论是ra ...
- 从零教你使用MindStudio进行Pytorch离线推理全流程
摘要:MindStudio的是一套基于华为自研昇腾AI处理器开发的AI全栈开发工具平台,该IDE上功能很多,涵盖面广,可以进行包括网络模型训练.移植.应用开发.推理运行及自定义算子开发等多种任务. 本 ...
- KingbaseES R6 通过脚本构建集群案例
案例说明: KingbaseES V8R6部署一般可采用图形化方式快速部署,但在生产一线,有的服务器系统未启用图形化环境,所以对于KingbaseES V8R6的集群需采用手工字符界面方式部署,本 ...
- Mac隔空投送功能
使用mac 或iphone 的隔空投送功能可以互发文件,亲测可用 具体可以看mac的文档 需要注意的是: 如果是mac传iphone,iphone会显示你需要存储文件的地方,比如选择在文稿中.然后在文 ...
- 【一月一本技术书】-【MySQL是怎样运行的】- 8月
mysql 基础 mysql分为 客戶端/服务端 客户端向服务端发送一段文本(mysql语句),服务器处理后向客户端进程返回一段文本. 查询请求执行过程 客户端->处理连接->查询缓存-& ...