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. SPI:Java的高可扩展利器

    摘要:JAVA SPI,基于接口的编程+策略模式+配置文件的动态加载机制. 本文分享自华为云社区<一文讲透Java核心技术之高可扩展利器SPI>,作者: 冰 河. SPI的概念 JAVA ...

  2. ArkUI 条件渲染

    前言 在有些情况下,我们需要根据实际的业务来控制标签是否渲染到真实 DOM 中.因此,条件渲染就派上用场了,它分为if...elif/else和show两种. show 允许标签渲染到真实 DOM 中 ...

  3. Linux-shell笔记1

    一次执行很多命令,可以用:分割每个命令,依次运行所有命令.但是不是进程列表,要用()包围命令才是进程列表.它们有什么差别呢?进程列表是启动了一个子SHELL来执行的.用echo $BASH_SUBSH ...

  4. 【MIDO】乐理基础 与 python - 从零开始到编写柱式和弦与分解和弦

    本篇文章从律学开始,从十二平均律出发,介绍一些基础必要的乐理知识,然后编写python文件,输出和弦音频文件. 乐理知识部分: 一.律学简述(temperament)   1.概论   律学,又称&q ...

  5. 【MATLAB】学习记录2-数组与向量

    1-数组 A=[1,2,3;4,5,6]%创建数组 [r,c]=size(A)%返回行列数 b=size(A) c=length(A)%返回最大的维数值 2-创建数组 先创建A数组 B=zeros(2 ...

  6. KingbaseES 如何把一个schema下的所有对象访问权限授权给其他用户

    用户需求:新建一个用户 B,需要能够查询A用户的所有表,并且对以后新建的表也要有select权限. 问题分析:对于现有的表可以通过动态sql批量进行授权,但是未来新建的表要如何进行授权呢? 查询了帮助 ...

  7. QT学习(五)----360界面制作(2终结)

    继续上一章的360新特性界面.源代码:http://download.csdn.net/detail/zhangyang1990828/5241242 上一章中实现了整个界面的纯UI设计,这次我们让它 ...

  8. 引擎之旅 Chapter.1 高分辨率时钟

    目录 游戏中的时间线 真实时间线 游戏时间线 全局时钟的实现方式 我们如何理解时间.在现实生活中,时间就是一个有方向的直线.从一个无穷远到另一个无穷远.用数学去抽象地思考,它就是一个从无穷小到无穷大的 ...

  9. 大规模数据分析统一引擎Spark最新版本3.3.0入门实战

    @ 目录 概述 定义 Hadoop与Spark的关系与区别 特点与关键特性 组件 集群概述 集群术语 部署 概述 环境准备 Local模式 Standalone部署 Standalone模式 配置历史 ...

  10. go 中解析JSON的三种姿势

    背景 这是一篇写给0-1年新人的文章,短平快的教会你如何解析json字符串. 示例Json 假设有如下json字符串: { "userName":"admin" ...