高可用代理服务器实现keepalive+squid
〇、前言
之前单机部署了squid代理服务器,现在实现一下高可用。
还有自定义squid的error页面
准备:两台centos7(1C2GB)
三个可用IP,一主一备一虚拟IP(VIP)
一、安装squid(两台)
yum install squid -y
# 具体配置略
二、安装keepalived(两台)
1.安装
yum install -y keepalived
yum install -y net-tools
2.配置
# 先清空原先配置
echo "" > /etc/keepalived/keepalived.conf
# 开始编辑
vim /etc/keepalived/keepalived.conf
# 这边注意网卡名称(interface ens160)和自身IP还有VIP
! Configuration File for keepalived
global_defs {
router_id 本机IP
}
vrrp_script chk_squid {
script "/etc/keepalived/check_port.sh 3128"
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 251
mcast_src_ip 本机IP
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 11111111
}
track_script {
chk_squid
}
virtual_ipaddress {
虚拟IP
}
}
3.编写端口检测脚本(两台)
vim /etc/keepalived/check_port.sh
#!/bin/bash
if [ $# -eq 1 ] && [[ $1 =~ ^[0-9]+ ]];then
[ $(netstat -lntp|grep ":$1 " |wc -l) -eq 0 ] && echo "[ERROR] squid may be not running!" && exit 1 || exit 0
else
echo "[ERROR] need one port!"
exit 1
fi
# 赋予执行权限
chmod +x /etc/keepalived/check_port.sh
4.启动服务
systemctl enable keepalived && systemctl start keepalived
三、自定义squid的error页面
# 页面文件位置如下/usr/share/squid/errors/zh-cn+/ERR_ACCESS_DENIED
[root@squid-slave zh-cn]# cat ERR_ACCESS_DENIED
<html><head>
<meta type="copyright" content="Copyright (C) 1996-2016 The Squid Software Foundation and contributors">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>错误: 不能获取请求的 URL</title>
<style type="text/css"><!--
%l
body
:lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sans-serif; float: right; }
:lang(he) { direction: rtl; }
--></style>
</head><body id="%c">
<div id="titles">
<h1>错误</h1>
<h2>您所请求的网址(URL)未授权</h2>
</div>
<hr>
<div id="content">
<p>当尝试请求返回 URL内容时遇到下面的错误:<a href="%U">%U</a></p>
<blockquote id="error">
<p><b>访问被拒绝。</b></p>
</blockquote>
<p>Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.</p>
<p>请联系马春旺。工号:***** 邮箱:****** </p>
<br>
</div>
<hr>
<div id="footer">
<p>Powered by 五星电器基础架构部</p>
<!-- %c -->
</div>
</body></html>
[root@squid-slave zh-cn]# systemctl restart squid
重启后即可看到如下:

高可用代理服务器实现keepalive+squid的更多相关文章
- Linux下"负载均衡+高可用"集群的考虑点 以及 高可用方案说明(Keepalive/Heartbeat)
当下Linux运维技术越来越受到企业的关注和追捧, 在某些企业, 尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案.那么如何实施Llinux集群架构,才能既有效 ...
- 集群高可用之lvs+keepalive
集群高可用之lvs+keepalive keepalive简介: 负载均衡架构依赖于知名的IPVS内核模块,keepalive由一组检查器根据服务器的健康情况动态维护和管理服务器池.keepalive ...
- mysql高可用之LVS + KEEPALIVE + MYSQL
1.架构图 注意 (一) Mysql需要把bind-address的配置去掉,否则无法实现虚拟ip访问 (二) 关闭所有linux防火墙:/sbin/iptables –F(可能没用) (三) ...
- 高可用之KeepAlived(2):keepalived+lvs
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- kubernetes haproxy+keepalive实现master集群高可用
前言 master的HA,实际是apiserver的HA.Master的其他组件controller-manager.scheduler都是可以通过etcd做选举(--leader-elect),而A ...
- Apache+lvs高可用+keepalive(主从+双主模型)
Apache+lvs高可用+keepalive(主从+双主模型) keepalive实验准备环境: httpd-2.2.15-39.el6.centos.x86_64 keepalived-1 ...
- lvs+keepalive构建高可用集群
大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言 Keepalived使用的vrrp协议方式,虚拟路由 ...
- keepalive高可用
Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软 ...
- [svc]高并发场景 LVS DR +KeepAlive高可用实现及ka的persistence_timeout参数
LVS-DR+keepalived模式是一种非常经典的常用生产组合 高可用场景及LVS架构 一般都用一(负载)拖多(Server Array)方式 使用LVS架设的服务器集群系统有三个部分组成: (1 ...
随机推荐
- bat-安装程序-切换路径的问题(小坑)
当批处理以管理员身份运行时,默认的cmd路径是 C:\Windows\system32 如果在批处理所在目录下存放了一些 安装程序,使用bat安装程序时,bat中去执行时 不会去当前目录去找 exe文 ...
- bat-注册表
注册表 注册表就像于是配置文件 linux下一切皆文件,windows下一切皆注册表 注册表(各种配置文件:系统设置.用户设置.软件的配置) HKEY_CLASSES_ROOT 超级管理员.系 ...
- MYSQL中IF IN语句
以下代码摘自后台管理系统中的一部分SQL语句: 当取数状态为1或2时,才展示取数时间,否则,取数时间展示为空 当申报状态为2.3.4或5时,才展示申报时间,否则,申报时间展示为空 select A.Q ...
- k8s之有状态服务部署基石(基础知识)
PV&PVC&HeadlessService 4.1.什么是无状态/有状态服务? 无状态服务: 1.没有实时的数据需要存储 (即使有,也是静态数据) 2.服务集群网络中,拿掉一个服务后 ...
- 如何准备论文线上Presentation视频录制教程(Summary of Video Recording)
0:前言 由于国外的疫情严重,目前大多数学术会议都是线上举办,因此往往需要制作presentation的视频录制.由于各种软件横飞,有的需要会员并且不熟悉操作,特别浪费时间.因此,我将这次的操作和遇到 ...
- Conversation Modeling on Reddit Using a Graph-Structured LSTM
publish: Transactions of the Association for Computational Linguistics,2016 tasks: predicting popul ...
- SSH 多密钥配置
目录 前言 一.SSH 是什么 二.密钥生成工具 三.密钥类型 四.本地配置 1.单密钥配置 2.多密钥配置 五.远端配置 1.GitHub/Gitee 2.服务器 前言 当我们从 GitHub 克隆 ...
- npm相关资料
npm 源的配置 命令行模式 npm install XXX --registry https://registry.npmmirror.com/ 项目模式 在项目更目录新建.npmrc 文件,内容 ...
- MySQL--SELECT检索语句
1.检索单个列 SELECT prod_name FROM products; --上述语句利用 SELECT语句从 products表中检索一个名为prod_name的列. 结束SQL:多条SQL语 ...
- 【实操填坑】在树莓派上编译 EtherCAT IgH Master 主站程序
官网下载地址:https://etherlab.org/download/ethercat/ (可list查看文件列表)https://etherlab.org/download/ethercat/ ...