Linux 系统通过 Squid 配置实现代理上网
Squid 介绍
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。使用云服务器 ECS 时,经常有这样的需求: 购买了多台 ECS 主机,但其中只有一台服务器购买了公网带宽, 而其余 ECS 因为只有偶尔的公网访问需求,所以没有购买公网带宽。可以通过配置 squid 代理,来使没有购买公网的服务器通过已购买公网的服务器访问外网,也可以通过squid作缓存减轻WEB服务器的压力,同时避免暴露WEB服务器真实的IP地址,提高安全性。 Squid 是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户。 按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
普通代理:需要客户机在浏览器中指定代理服务器的地址、端口。
透明代理:适用于企业的网关主机(共享接入 Internet)中,客户机不需要指定
代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的 Web 访问数据转交给代理服务程序处理。
反向代理:是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
Squid 配置说明
操作系统:CentOS Linux release 7.3.1611 (Core)
Squid 版本:squid-3.5.20-10.el7.x86_64
具体配置如下:
配置本地yum源,yum安装squid:
yum install squid –y
安装完成后开始根据不同的代理需求编辑配置文件。
普通代理:
原理图
*图中的IP地址仅为实验
1.启动squid服务
systemctl start squid
2.打开客户端浏览器设置代理服务:
注意:此处代理服务器的IP应该是与客户端和web服务器能够直接通信的IP,测试机的IP不能与WEB服务器直接通信,否则就是去了代理的意义。
3.客户端直接访问WEB服务器,此时可以实现由一台ECS服务器做squid代理,访问后端没有公网出口的WEB集群。
反向代理:
用squid做反向代理增加web服务器的安全性,同时squid可以作缓存,减轻真正的web服务器的负担,提高访问速度。
原理图:
*图中IP地址仅作参考
- 编辑squid的配置文件
vim /etc/squid/squid.conf
Squid normally listens to port 3128
http_port 80 vhost vport //指定squid代理服务器的端口为80,vhost和vport指的是采用虚拟主机的方式
cache_dir ufs /var/spool/squid 512 16 256
cache_mem 16 MB
cache_peer 39.108.15.233 parent 80 0 no-query originserver
说明:
cache_dir ufs /var/spool/squid 512 16 256
缓存目录 存储方式 缓存目录 缓存大小为512MB 一级子目录数 二级子目录数
cache_peer 39.108.15.233 parent 80 0 no-query originserver
指定真正的web服务器 类型 http端口 不支持查询邻居的缓存 允许类型weiparent的服务器作为原始服务器被访问
http_access allow all 允许所有的互联网用户访问。
2.重启squid服务
systemctl restart squid
注意:反向代理代理服务器需要使用80端口,若服务启动不起来,请查看80端口是否被占用。若占用,关闭掉对应服务,再重新启动squid服务。
3.在客户端直接输入代理服务器的ip,可以访问到真实的WEB服务器。
透明代理原理:代理服务器做一个转发器,设置端口转发规则,把访问web服务的请求,转发给web服务器,实现访问客户端对WEB服务器的访问。涉及iptables规则的设置,用途并不广泛,不在累述。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【邀您参加】6月7-8日上海云栖大会-飞天技术汇,深入剖析云上智能如何推动中国企业加速数字化革新
诚邀您莅临2018云栖大会-上海峰会,让我们一起聚焦人工智能、新零售和金融等行业的最新发展,助力企业数字化转型,助力产业数字化变革,助力数字经济化发展。 阿里云飞天技术汇为您邀请到多位资深云计算技术专家,从弹性计算、存储、网络、CDN和数据库等产品的技术层面,聚焦金融行业云端创新,诠释云端智能化解决方案,为您深入剖析云上智能如何推动中国企业加速实现数字化革新。 飞天技术汇分论坛议程: 报名请访问:https://yida.alibaba-inc.com/o/yqdhsh 或扫描文末图中二维码,输入飞天技术汇嘉宾专属邀请码:FTJS3。嘉宾证件全场通用,注册成功之后可以自由参加云栖大会上海峰会全部议程。 了解更多大会安排,请点击访问 驱动数字中国,我们上海见!
- 下一篇
用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)
创建 Kubernetes 集群并部署容器化应用只是第一步。一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求。Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持。 本章重点讨论 Kubernetes 常用的监控方案,下一章会讨论日志管理。 Weave Scope Weave Scope 是 Docker 和 Kubernetes 可视化监控工具。Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。 安装 Scope 安装 Scope 的方法很简单,执行如下命令: kubectl apply --namespace kube-system -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')" 部署成功后,有如下相关组件: DaemonSetweave-scope-ag...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装