告别LVS:使用keepalived+nginx实现负载均衡代理多个https
来源:互联网 发布:轮胎数据怎么看 编辑:程序博客网 时间:2024/05/01 17:12
需求1:CDN小节点使用尽可能少的资源实现高可用和负载均衡
需求2:需要支持10多个HTTPS站点的反向代理
后端环境:nginx在前端做url_hash,后端缓存服务器使用squid和lighttpd分别处理动静态内容,服务器证书在nginx上
解决方案:
使用keepalived来实现前端3台nginx的高可用,DNS轮询来均摊负载。
每个https站点使用一个独立IP,非https站点分摊到这些IP上。
在每台机器的lo上绑定所有的IP来启动nginx服务。
架构图:
原理:
正常情况下负载均摊,每台机器只负担2-3个HTTPS站点,比如此时nginxA只负责192.168.0.101和192.168.0.102这2个 HTTPS站点。当nginxB挂掉时,nginxA和nginxC会根据策略去分担192.168.0.103和192.168.0.104这2个站点 的访问,这时nginxA上负担的站点就可能就是192.168.0.101、192.168.0.102和192.168.0.104了。
分配策略:
lo绑ip脚本:
echo ’2′ > /proc/sys/net/ipv4/conf/lo/arp_announce
echo ’1′ > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo ’2′ > /proc/sys/net/ipv4/conf/all/arp_announce
echo ’1′ > /proc/sys/net/ipv4/conf/all/arp_ignoreifconfig lo:1 198.188.0.101 netmask 255.255.255.255
ifconfig lo:2 198.188.0.102 netmask 255.255.255.255
ifconfig lo:3 198.188.0.103 netmask 255.255.255.255
ifconfig lo:4 198.188.0.104 netmask 255.255.255.255
ifconfig lo:5 198.188.0.105 netmask 255.255.255.255
ifconfig lo:6 198.188.0.106 netmask 255.255.255.255
Ngnix A配置文件范例:
! Configuration File for keepalived
global_defs {
notification_email {
duanli0n@gmail.com
}
notification_email_from nginx_ha1@snda.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id nginx_ha1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.101
192.168.0.102
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 52
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.103
192.168.0.104
}
}
vrrp_instance VI_3 {
state BACKUP
interface eth0
virtual_router_id 53
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.105
192.168.0.106
}
}
- 告别LVS:使用keepalived+nginx实现负载均衡代理多个https
- 使用nginx+keepalived实现https负载均衡以及高可用
- LVS + keepalived 实现负载均衡
- LVS+Keepalived实现负载均衡
- LVS+Keepalived实现负载均衡
- LVS+keepalived 实现负载均衡
- lvs+keepalived实现负载均衡
- keepalived+lvs实现负载均衡
- lvs+keepalived 实现负载均衡
- LVS+keepalived+nginx实现双机热备负载均衡
- LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
- Keepalived+lvs+nginx之负载均衡
- LVS+keepalived负载均衡
- LVS+keepalived负载均衡
- LVS+keepalived负载均衡
- lvs+keepalived 负载均衡
- lvs+keepalived 负载均衡
- LVS+KEEPALIVED负载均衡
- Eclipse查看jar中的class文件注释出现乱码
- VIM使用
- Apache2 httpd.conf 中文版
- copy构造隐藏的陷阱
- 一些简单的sq例子
- 告别LVS:使用keepalived+nginx实现负载均衡代理多个https
- Xcode4自动生成注释和开发文档
- 重做大赛计分数组版
- (总结)Nginx配置文件nginx.conf中文详解
- 神奇的图像处理算法
- repeater实现样式设置,并添加删除按钮,参考课上老师做的案例。数据表添加字段status,使用repeater实现禁用与启用。repeater添加编辑按钮,和Edit.aspx页面。
- sscanf函数的用法 收藏
- 基于gSoap框架的webservice应用一
- ExtJS中如何给Label添加click事件