文档章节

使用CentOS7配置Squid代理

JungleKing
 JungleKing
发布于 2016/11/03 23:00
字数 1084
阅读 640
收藏 1

我这里是用squid配置了一个带用户认证的普通代理。

安装

3.1 检查squid软件是否安装

# rpm -qa|grep squid

3.2 如果未安装,则使用yum 方式安装

# yum -y install squid

安装过程十分简便,只需要安装一下squid,一条命令搞定。我这里装的是squid3.3。

yum install squid
rpm -qa | grep squid
squid-3.3.8-12.el7_0.x86_64

配置

修改squid的配置文件 /etc/squid/squid.conf

主要就是配置一下端口,缓存,日志和访问规则。

按 Ctrl+C 复制代码

按 Ctrl+C 复制代码

初始化

在第一次启动之前或者修改了cache路径之后,需要重新初始化cache目录。

squid -z

启动

systemctl start squid

使用

在浏览器中修改代理配置即可。

在windows中:

Internet选项 -> 连接 -> 局域网连接 -> 代理服务器

在macOSX中:

Safari -> 偏好设置 -> 代理 -> Web代理

然后输入你的代理地址和端口,就可以正常工作了。

测试

我从网上看到一个非常简单的方法,可以用来快速测试你的代理是否正常工作。首先打开百度,然后搜索ip。如果出来的是你代理的那台机器的ip,那么恭喜你,一大波垃圾邮件即将赶来。

添加用户认证

为了防止我们的代理被爬虫扫到并且被用于不法用途,我们非常有必要为我们的squid添加用户认证。事实上我刚配的代理,没过多久就已然被扫到。

我从我的access.log里面看到。然而此时我还没有添加任何认证机制,幸好我没使用认端口,不然我的邮箱又会收到一大坨告警邮件了。。

复制代码

1439106533.703      0 89.102.9.196 TCP_DENIED/403 3739 GET http://www2.praguerentacar.com/proxy/detectproxy.php - HIER_NONE/- text/html
1439106539.302      0 89.102.9.196 TCP_DENIED/403 3724 GET http://www2.intimnosti.cz/proxy/detectproxy.php - HIER_NONE/- text/html
1439106544.881      0 89.102.9.196 TCP_DENIED/403 3706 GET http://93.185.96.50/proxy/detectproxy.php - HIER_NONE/- text/html
1439106550.453      0 89.102.9.196 TCP_DENIED/403 3712 GET http://www2.nuabi.com/proxy/detectproxy.php - HIER_NONE/- text/html

复制代码

 

我们这里通过ncsa认证模块来为我们的squid添加认证。为什么我选择ncsa呢,因为我从网上搜到的大多用了这个方式。。

首先我们得配置我们的访问用户的账户信息。最后一个参数是用户名,可以替换成任何你喜欢的名字~

htpasswd -c /etc/squid/passwd chao

如果找不到htpasswd,就先装个Apache。yum install httpd。 然后就能使用htpasswd了。

有了帐户文件之后,我们重新配置我们的squid。在squid.conf里面,把

http_access allow all

改成

复制代码

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm chao's squid server
auth_param basic credentialsttl 2 hours
acl myacl proxy_auth REQUIRED
http_access allow myacl
http_access deny all

复制代码

最后重启squid就可以啦。

systemctl restart squid

现在当你使用代理访问页面的时候,会先弹出一个提示框,让你输入用户名密码。然后就可以继续访问了。

 

 

配置说明

有些人可能一开始对原理以及配置的详细介绍并不感冒,只是想让代理先跑起来再说。至少我本人就是这样子的。。所以,我把这块放在了最后。

现在,就开始介绍一下上面配置的具体内容。当然参考官网会更加详细准确。

http_port 3712 这个指定了我们代理的端口。

cache_mem 64 MB 内存中的缓存大小

cache_dir ufs /var/spool/squid 100 16 256 缓存文件夹,默认是只在内存中进行缓存的。这里指定缓存大小为100M,第一层子目录为16个,第二层为256。

maximum_object_size 4 MB 最大被缓存文件大小,这个配合上面的cache_dir使用,只作用于缓存到磁盘的文件。

access_log /var/log/squid/access.log 访问日志

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd 指定认证程序以及账户文件

auth_param basic children 5 认证程序同时跑的个数

auth_param basic realm chao's squid server 客户端在使用代理时,输入密码时弹出来的提示框中的描述文字。

auth_param basic credentialsttl 2 hours 认证的持续时间

acl myacl proxy_auth REQUIRED 对myacl使用外部程序进行认证

http_access allow myacl 允许myacl中的成员访问

http_access deny all 拒绝所有其它访问

visible_hostname squid.chao 代理机名字

本文转载自:http://www.cnblogs.com/riversouther/p/4717720.html

上一篇: IBatis.net使用说明
下一篇: Centos搭建hadoop
JungleKing
粉丝 4
博文 107
码字总数 11937
作品 0
天津
程序员
私信 提问
加载中

评论(0)

CentOS 7 Squid代理服务器正向代理-传统代理

Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP、FTP、DNS查询以及SSL等应用的缓存代理 传统代理:普通的代理服务,多见于I...

damowang~
2018/08/21
0
0
CentOS7上squid的部署及两种模式(4.1版本)

CentOS7上squid的部署及两种模式(4.1版本) 简介 squid是什么? Squid是一种用来缓冲Internet数据的软件。它接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如...

漂移的兔子
2018/07/26
0
0
在CentOS7上部署squid缓存服务器及代理功能

缓存代理概述: 作为应用层的代理服务软件,squid主要提供缓存加速和应用层过滤控制的功能。 代理的基本类型: 传统代理:也就是普通的代理服务,首先必须在客户机的浏览器、聊天工具、下载软...

何以重见
2018/07/29
0
0
Linux基础学习-使用Squid部署代理缓存服务

使用Squid部署代理缓存服务 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常作为Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.Squid服务配置简单、效率...

抖音不抖
2018/09/12
0
0
CentOS 7 Squid代理服务器正向代理-透明代理

Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP、FTP、DNS查询以及SSL等应用的缓存代理 透明代理:提供与传统代理相同的功能...

damowang~
2018/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何用Python增强Excel,减少处理复杂数据的痛苦?

Excel既是一种祝福,也是一种诅咒。 当涉及到足够小的数据和足够简单的操作时,Excel是王道。然而,一旦发现自己在努力走出这些区域,它就会变成一种痛苦。 当然,可以使用ExcelVBA来解决这些...

Python圈子
11分钟前
14
0
Apache配置虚拟目录+Zend Studio访问

1 概述 Apache配置虚拟目录,然后可以通过Zend Studio的工程去访问,只需要修改Apache的httpd.conf文件. 2 修改httpd.conf 找到Apache安装目录下的httpd.conf,在末尾加上: <IfModule dir_modul...

氷泠
12分钟前
25
0
Android知识体系总结2020之Android部分控件篇

初级 1.基础布局 线性布局(LinearLayout) 相对布局(RelativeLayout) 约束布局(ConstraintLayout) 网格布局(GridLayout) 表格布局(TableLayout) 帧布局(FrameLayout) 绝对布局(AbsoluteLayout...

ClAndEllen
14分钟前
17
0
为什么要分库分表?

随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当使用MySQL数据库的时候,单表超出了2000万数据量就会出现性能上的分水岭。 并且物理服务器...

php开源社区
16分钟前
23
0
关于STM32的裸机多任务多线程心得

多任务多线程 多任务"并行处理" 首先我们来理解一下并行处理,初学者写程序通常是顺序执行,当我们逐渐想成为“专业”人士的时候顺序执行 的程序已经不能满足我们了,所以就需要多任务多线程...

shzwork
17分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部