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. Java SE 11 新增特性

    Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  2. linux centos7开启防火墙端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload

  3. 创建Prism项目

    1.创建Prism Prism是一个用于WPF.Xamarin Form.Uno平台和 WinUI 中构建松散耦合.可维护和可测试的XAML应用程序框架 通过以下方式访问.使用.学习它: https: ...

  4. 以太坊 layer2: optimism 源码学习(二) 提现原理

    作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 掘金:https://juejin.im/user/1785262612681997 博客:http://www.cnblogs.com/ ...

  5. 手把手教你搭建JAVA分布式爬虫

    在工作中,我们经常需要去获取一些数据,但是这些数据可能需要从第三方平台才可以获取到.这个时候,爬虫系统就可以帮助我们来完成这些事情. 提到爬虫系统,很多人都会想到使用python.但实际上,语言只是一 ...

  6. 【读书笔记】C#高级编程 第八章 委托、lambda表达式和事件

    (一)引用方法 委托是寻址方法的.NET版本.委托是类型安全的类,它定义了返回类型和参数的类型.委托不仅包含对方法的引用,也可以包含对多个方法的引用. Lambda表达式与委托直接相关.当参数是委托类 ...

  7. Java套接字实现应用程序对数据库的访问

    最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下: 利用套接字技术实现应用程序中对数据库的访问.应用程序只是利用套接字连接向服务器发送一个查询的条件,而服务器负责对数据库的 ...

  8. 4、StringBuilder类

    StringBuilder类 一个可变的字符序列,此类提供一个与StringBuffer 兼容的 API,但不保证同步(StringBuilder 不是线程安全). 该类被设计用作 StringBuf ...

  9. 12. Fluentd部署:多Workers进程模式

    介绍如何使用Fluentd的多worker模式处理高访问量的日志事件.此模式会运行多个worker进程以最大利用多核CPU. 原理 默认情况下,一个Fluentd实例会运行一个监控进程和一个工作进程. ...

  10. nginx+gunicorn部署Django项目

    实际采用的nginx.conf文件内容: server { charset utf-8; listen 80; server_name ip; access_log /webapps/project/ ...