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反向代理实例的更多相关文章

  1. haproxy反向代理配置示例

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. Httpd Nginx Haproxy反向代理

    Apache反向代理 部署httpd反向代理 准备工作: 三台虚拟机Ip地址分配: linux-node1:192.168.1.5 (源码编译httpd,并且配置proxy用于代理后端的httpd服务 ...

  3. Nginx、haproxy反向代理设置

    Nginx反向代理配置: #user nobody; worker_processes ; events { worker_connections ; } http { include mime.ty ...

  4. linux之反向代理,反向代理实例,负载均衡实例

    目录 nginx反向代理 1. 概述 2. 反向代理服务器的工作原理 (1)作为内容服务器的替身 (2)作为内容服务器的负载均衡器 二. nginx反向代理实例 1.前期准备 2.代理服务器配置 3. ...

  5. 项目详解4—haproxy 反向代理负载均衡

    一.企业服务架构图及负载均衡的要求 1.场景说明 在企业生产环境中,每天会有很多的需求变更,比如增加服务器.新业务上线.url路由修改.域名配置等等,对于前端负载均衡设备来说,容易维护,复杂度低,是首 ...

  6. haproxy反向代理

    haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...

  7. haproxy反向代理环境部署(http和https代理)

    操作背景:前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.150.192.168.1.151,没有公网i ...

  8. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  9. 记一次haproxy反向代理配置

    首先借用一下前辈的话,解释下反向代理是什么? 反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

随机推荐

  1. 051_末晨曦Vue技术_处理边界情况之provide和inject依赖注入

    provide和inject依赖注入 点击打开视频讲解更详细 在此之前,在我们描述访问父级组件实例的时候,展示过一个类似这样的例子: <google-map> <google-map ...

  2. [Blender] Blender 获取 Instance 的信息

    最近希望用 Blender 生成 Instance 的能力,将生成的导入游戏引擎中来渲染.Instance Rendering 是个好东西,特别是针对大场景,渲染成批的基本相同的物体的时候非常有用. ...

  3. 演示RabbitMQ的交换类型

    一.Direct exchange 新建一个名为direct_exchange的Direct exchange 添加队列direct_queue1 添加队列direct_queue2 direct_e ...

  4. 【Java】学习路径52-Timer计时器实例

    import java.util.Timer; import java.util.TimerTask; public class TimerClass { public static void mai ...

  5. 网卡限速工具之WonderShaper

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 什么是WonderShaper 如何安装Wonder ...

  6. Rust 从入门到精通06-语句和表达式

    1.语句和表达式 语句和表达式是 Rust 语言实现逻辑控制的基本单元. 在 Rust 程序里面,语句(Statement)是执行一些操作但不返回的指令,表达式(Expressions)计算并产生一个 ...

  7. 三门问题模拟对比试验——附VB6和Python3源程序及EXE文件

    三门问题模拟对比试验 [直接跳转到文件下载] 前言 "三门问题"是一个很有意思的概率论问题,涉及贝叶斯公式,是人工智能领域的一个经典问题. 为了直观地研究这个问题,也为了测试一下P ...

  8. MQ的消息丢失/重复/积压的问题解决

    在我们实际的开发过程中,我们肯定会用到MQ中间件,常见的MQ中间件有kafka,RabbitMQ,RocketMQ.在使用的过程中,我们必须要考虑这样一个问题,在使用MQ的时候,我们怎么确保消息100 ...

  9. eclipse最常应用的几个快捷键,新手必看!

    首先eclipse快捷键可以使用 Ctrl + Shift + L 打开,在这里可以查看所有快捷键. 另外就是常用的几个快捷键 选中光标所在行 好像没有,但是可以 Ctrl + d 然后 Ctrl + ...

  10. 认识RocketMQ4.x架构设计

    消息模型 单体的消息模型 RocketMQ消息模型跟其他的消息队列一样 都是 producer - > topic->consumer producer 生产消息 也就是发送者 topic ...