专栏首页吴柯的运维笔记如何搭建Squid代理服务器?

如何搭建Squid代理服务器?

“每个理性的IT人士都置顶了吴柯的运维笔记”

“量子扰动超导探测器。战争期间用它搜索潜艇,寻找敌人的赛伯武器系统.”

“哦?海军的玩意儿?打仗的时候用过?这么说,乌贼能读出你大脑芯片上储存的东西?”她停住脚步。我觉得她藏在那两片镜面后面的一双眼睛正死死盯着我。

“要说探测磁场,哪怕最低级的乌贼都比过去的磁力探测器强十亿倍,就跟在体育场的一片欢呼声中听清谁说的一句悄悄话似的。

‍‍“squid”一般是指“量子扰动超导探测器(当然今天要讲的是开源系统中的代理服务器啦)”‍‍

‍Squid代理服务器

Squid

Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Linux一类系统运行。

对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

Squid的另一个优越性在于它使用访问控制清单(ACL)访问权限清单(ARL)。访问控制清单和访问权限清单通过阻止特定的网络连接来减少潜在的Internet非法连接,可以使用这些清单来确保内部网的主机无法访问有威胁的或不适宜的站点。

Squid对硬件的要求是内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,处理器要求不高,400MH以上既可。

通过模拟配置代理服务器,实现以下目标:

1.代理服务器可以将远程的Web服务器页面缓存在本地

2.代理服务器端口设置为80端口

3.用户通过访问代理服务器即可获得远程Web服务器上的页面内容

4.远程Web服务器对客户端用户是透明的

5.利用缓存机制提高网站的响应速度

‍如图,分别在web服务器、代理服务器和客户端进行配置:‍

1

‍web服务器配置‍

1)装包

# yum -y install httpd

#systemctl start httpd

#systemctl enable httpd

2)为Web访问建立测试文件

#cat /var/www/html/index.html

2

‍部署Squid代理服务器‍

1)装包:

# yum -y install squid

2)修改配置文件:

# vim /etc/squid/squid.conf.. ..http_port 80 vhost

#设置反向代理visible_hostname www.wuke.com #设置主机名,默认没有该语句

cache_peer 192.168.2.100 parent 80 0 originserver #定义后端真实服务器信息

cache_dir ufs /var/spool/squid 200 16 256 #硬盘缓存,缓存容量为200M,自动创建16个一级子目录和256个二级子目录

http_access allow all #允许本机所有主机使用代理服务器

3)启服务

# systemctl start squid

#systemctl enable squid

4)squid服务通过TCP 80端口监听客户端请求:

# netstat -anptu | grep 80

tcp 0 0 :::80 :::* LISTEN 3213/(squid)

3

‍客户端测试‍

客户端开启浏览器访问

# curl http://192.168.4.5 #返回的是192.168.2.100服务的页面

本文分享自微信公众号 - 吴柯的运维笔记(wukeyy18s)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis缓存服务及配置主从服务器

    Redis是一个开源的基于内存的永久存储的日志型,key-value数据库。 redis的存储分为内存存储,磁盘存储和log日志文件三部分。 和memcach...

    吴柯
  • 几个简单的python脚本编写

    编写固定输出的斐波那契数列 # vim fibs.py #!/usr/bin/python fibs = [0, 1] for i in range(8): ...

    吴柯
  • 如何部署LVS-NAT集群实现负载均衡?

    “每个理性的IT人士都置顶了吴柯的运维笔记” 要求:使用LVS实现NAT模式的集群调度服务器,为用户提供Web服务。 集群对外公网IP地址为202.114.10...

    吴柯
  • 【趣味】数据挖掘(5)—分房与分类

    中老年回顾歌曲集中有这样一首歌:月亮在白莲花般的云朵里穿行,晚风吹来一阵阵欢乐的歌声,我们坐在高高的谷堆旁边,听妈妈讲那过去的事情……   歌词美,旋律也美...

    机器学习AI算法工程
  • 4️⃣ 核酸序列特征分析(1):开放阅读框识别

    Y大宽
  • nexus3添加jar包

    翟凤玺
  • 快速学习-ElasticJob-Lite Quick Start

    cwl_java
  • C语言之接收方向键指令让屏幕上的输出能移动

    首先,需要了解一下控制台坐标 ? #include <stdio.h> #include <stdlib.h> #include <conio.h> main(...

    互联网金融打杂
  • 虚拟币C2C场外交易平台开发

    OTC场外交易是一个没有固定场所,没有规定成员资格,没有严格可控的规则制度,没有规定的交易产品和限制,并且没有集中和统一的交易制度和撮合机制,双向交易、买卖自由...

    源中瑞科技ruiecjo
  • JS 状态模式

    状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类。 其实就是用一个对象或者数组记录一组状态,每个状态对应一个实现...

    前端下午茶

扫码关注云+社区

领取腾讯云代金券