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上请求连接的客 ...
随机推荐
- C++ 炼气期之结构体
1. 前言 随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值.且复杂的类型数据. 为了能抽象地描述这些非数值.复杂类型的数据,C++引入了复合数据类型的概念 ...
- Python小游戏——外星人入侵(保姆级教程)第一章 06让飞船移动
系列文章目录 第一章:武装飞船 06:让飞船移动 一.驾驶飞船 下面来让玩家能够左右移动飞船.我们将编写代码,在用户按左或右箭头键时做出响应.我们将首先专注于向右移动,再使用同样的原理来控制向左移动. ...
- 简单创建一个SpringCloud2021.0.3项目(三)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...
- JavaScript之数组常用API
这篇文章主要帮助大家简单理解数组的一些常用API用法,许多小伙伴常用方法记不住?别急,看完下面的介绍您一定就会明白各个方法是如何用的了.该文章适合新手小白看,大佬可以多多指点️! 1.数组的创建以及A ...
- Linux虚拟机启动报错operating system not found解决步骤
此报错为硬盘上的启动代码丢失 实验准备步骤 1) 准备: dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 2) 系统启动报错截图 修复步骤如下 第一步:选 ...
- mysql_唯一索引数据重复问题总结
CREATE TABLE `tt_transfer_assemble_diffuse_plan_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCRE ...
- 【读书笔记】C#高级编程 第十六章 错误和异常
(一)简介 错误的出现并不总是编写应用程序的人的原因,有时应用程序会因为应用程序的最终用户引发或运行代码的环境而发生错误.C#提供了异常处理机制来处理错误. (二)异常类 在C#中,但刚出现某个特殊的 ...
- 001从零开始入门Entity Framework Core——基础知识
Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framework 数据访问技术. 一.什么是 Entity Framework Core ...
- 一文了解 Java 中的构造器
摘要:Java 也采用了构造器,并且还提供了一个垃圾收集器(garbage collector),当不再使用内存资源的时候,垃圾收集器会自动将其释放. 本文分享自华为云社区<一文带你了解 Jav ...
- kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd ...