将两个服务绑定在一个集群服务中

如何将两种请求绑定在一个集群中通过一个director来调度,

这里需要iptable工具配合实现。首先在prerouting链上做一个标记,通过标记来调度

起两个服务:

在rs上安装http 和ssl 两种服务将其绑定在一个集群中调度

配置:

Vip:192.168.220.10

Dip:192.168.220.135

Rip1:192.168.220.11

Rip2:192.168.220.12

ifconfig lo:0 192.168.220.10 netmask 255.255.255.255 broadcast 192.168.220.10 up

在配置rs服务器上的vip(lo上的别名ip)是注意 将内核参数arp_agnore 为1 arp_annonce为2 防止ip冲突

在rs服务上安装相关服务  http  ssl

ssl需要配置ca认证

拿 director当ca

创建私钥

自签证书:

Touch  index.txt

Echo  1 > se rial

在rs上

生成私钥

生成证书

传到CA上签证

# scp ./httpd.csr  192.168.220.135:/

# openssl ca -in httpd.csr -out httpd.crt -days 365

mv httpd.* /etc/httpd/conf.d/     放在 /etc/httpd/conf.d/  下

安装ssl模块

yum install mod_ssl -y

修改ssl配置文件

/etc/httpd/conf.d/ssl.conf

DocumentRoot "/var/www/html"

ServerName www.xiao1.com:443

SSLCertificateFile /etc/httpd/conf.d/httpd.crt

SSLCertificateKeyFile /etc/httpd/conf.d/httpd.key

# httpd -t  检查语法

重启

做域名解析

在director上:

用iptables 打标记

# iptables -t mangle  -A PREROUTING  -d 192.168.220.10 -p tcp -m multiport --dports 80,443 -j MARK  --set-mark 3

创建集群:

ipvsadm -A -f 3 -s rr

ipvsadm -a -f 3 -r 192.168.220.11 -g

# ipvsadm -a -f 3 -r 192.168.220.12 -g

访问:

Curl http:// 192.168.220.10

# curl -k --cacert /root/cacert.pem https://192.168.220.10

<h1>rs1 server</h1>

持久连接:

-p  默认是360

Ipvsadm  -A  -t  192.168.220.10:0  -s  rr  -p

:0 表示把所有的服务都绑定这这个集群下但一定要加-p 所有服务都会向后端派发。

问题:curl SSL: certificate subject name 'luffichen_server.tencent.com' does not match target host name '192.168.220.10

原因:这是因为 curl 访问 https 服务器时,会验证服务器证书的有效性和证书域名与访问域名一致性

lvs - mask标记的更多相关文章

  1. lvs学习笔记

    本人身为一个网工,最近一直在工作中学习linux的相关知识.前短时间通过自查资料学习了lvs的相关内容,摘录部分整理后和大家分享,内容较多,较琐碎,望见谅!!! LVS 从Linux内核版本2.6起, ...

  2. LVS原理以及配置

    安装好ipvsadm后需要查看内核是否加载了ip_vs模块儿,如果没有需要手动执行ipvsadm进行加载: # ipvsadm # lsmod |grep ip_vs # rmmod ip_vs_rr ...

  3. 如何编写LVS对Real Server的健康状态检测脚本

    简介:Linux 虚拟服务器(Linux Virtual Server. LVS),是一个由章文松开发的自由软件.利用KVS可以实现高可用的.可伸缩缩的Web, Mail, Cache和Medial等 ...

  4. 目标检测网络之 Mask R-CNN

    Mask R-CNN 论文Mask R-CNN(ICCV 2017, Kaiming He,Georgia Gkioxari,Piotr Dollár,Ross Girshick, arXiv:170 ...

  5. UnityGUI扩展实例:图片挖洞效果 Mask的反向实现

    转载自 https://www.taidous.com/forum.php?mod=viewthread&fid=211&tid=55259 我想大家在用uGUI做界面时,可能经常会碰 ...

  6. Linux 集群

    html,body { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0 ...

  7. TPatch动态补丁系统(iOS)

    版权声明:本文由朱煌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/160 来源:腾云阁 https://www.qclou ...

  8. OpenCV SIFT原理与源码分析

    http://blog.csdn.net/xiaowei_cqu/article/details/8069548 SIFT简介 Scale Invariant Feature Transform,尺度 ...

  9. 从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史(转载)

    转载 https://zhuanlan.zhihu.com/p/49271699 首发于深度学习前沿笔记 写文章   从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 张 ...

随机推荐

  1. vscode 的使用笔记

    1.使用vscode 的终端命令 ctrl + ~  打开 vs 的终端 这是使用windows 自带的shell终端, 使用git.bash的shell  在设置里面,找到 terminal.int ...

  2. Java位运算符浅析

    在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率. 位运算符,这个”位”代表这什么? 位:二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用1或 0 ...

  3. (七)STL适配器

    1.适配器是稍微修改某些功能,比如三个参数改为两个参数,函数的名称改一下等等,可以出现在容器.迭代器和仿函数中. 2.适配器相当于对某个东西进行封装,例如A是B的适配器,则真正的功能实现是在B中,可以 ...

  4. ES6之Set与Map加深理解

    Set 类似于数组,但是成员的值都是唯一的,没有重复的值,有序. Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化. 用途 数组去重: [...new ...

  5. 《剑指offer》二叉树中和为某一值的路径

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  6. kali访问宿主机Web页面解决方案

    1.首先安装好PHPDVWA测试平台,将等级设置成low,kali中自带了python2.7.为了不再宿主机中修改python3.6,所以要利用kali来模访问宿主机中的Web页面.如果不进行配置修改 ...

  7. OrCAD Capture CIS 16.6 导出BOM

    OrCAD Capture CIS 16.6 一.选择设计文件:菜单:Tools > Bill of Materials... 二.Bill of Materials > Open in ...

  8. spring cloud 路由网关zuul基本使用

    在微服务架构中,需要几个关键的组件,服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个组件可以组建一个简单的微服务架构.客户端的请求首先经过负载均衡(zuul.Ngnix),再 ...

  9. C程序的内存分配及动态内存

    1.程序内存的分配 一个由C/C++编译的程序占用的内存分为以下几个部分:1)栈区(stack) — 由编译器自动分配释放 , 存放为运行函数而分配的局部变量. 函数参数. 返回数据. 返回地址等. ...

  10. deeplearning 重要调参参数分析

    reference: https://blog.csdn.net/jningwei/article/details/79243800 learning rate:学习率,控制模型的学习进度,决定权值更 ...