0%

linux代理服务器squid

squid介绍

​ squid是支持HTTP,HTTPS,FTP等Web的缓存代理。它通过缓存和重复使用频繁请求的网页来降低带宽并缩短响应时间。Squid拥有广泛的访问控制,并且是一款出色的服务器加速器 它可以在大多数可用的操作系统上运行,包括Windows,并在GNU GPL下获得许可。

使用yum安装并配置squid

安装

1
2
yum install squid -y
yum install httpd-tools -y

生成密码文件

1
2
3
4
5
mkdir /etc/squid3/
# xiongneng 是用户名
htpasswd -cd /etc/squid3/passwords guest
# 提示输入密码,在这里我设的密码为 123456
# 注意密码不要超过8位

测试密码文件

1
2
3
4
5
6
7
/usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
# 输入 用户名 密码
xiongneng 123456
# 提示OK说明成功,ERR是有问题,请检查一下之前步骤
OK

# 测试完成,crtl + c 打断

配置

1
2
3
4
5
6
7
8
9
10
11
12
vim /etc/squid/squid.conf

# 在最后添加

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# 这里是端口号,可以按需修改
# http_port 3128 这样写会同时监听ipv6和ipv4的端口,推荐适应下面的配置方法。
http_port 0.0.0.0:3128

权限控制

​ squid有着丰富的权限控制,这里采用默认的略

启动服务

1
2
3
4
5
6
7
8
# 开启启动
systemctl enable squid.service
# 启动
systemctl start squid.service
# 停止
systemctl stop squid.service
# 重启
systemctl restart squid.service

代理服务器设置

​ 在其他CentOS机器上面配置各种代理方法

全局代理

vim /etc/profile,在最后加入

1
2
export http_proxy="http://username:password@proxy_ip:port"
export https_proxy="http://username:password@proxy_ip:port"

yum代理设置

​ 编辑/etc/yum.conf,在最后加入

1
2
# Proxy
proxy=http://username:password@proxy_ip:port/

wget代理设置

​ 编辑/etc/wgetrc,在最后加入

1
2
3
4
# Proxy
http_proxy=http://username:password@proxy_ip:port/
https_proxy=http://username:password@proxy_ip:port/
ftp_proxy=http://username:password@proxy_ip:port/

curl的代理设置

​ 在~/.bashrc里面增加一个别名:

1
alias curl="curl -x http://username:password@proxy_ip:port"

​ 另外一种方法是编辑~/.curlrc文件 (没有就创建一个):

1
proxy = http://username:password@proxy_ip:port