centos7 下squid 安装配置 与认证配置

squid简介

Squid 是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户。

按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。

  • 普通代理需要客户机在浏览器中指定代理服务器的地址、端口。
  • 透明代理:适用于企业的网关主机(共享接入 Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防 火墙策略将客户机的 Web 访问数据转交给代理服务程序处理。
  • 反向代理:是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

安装

yum -y install squid httpd-tools

配置

设置用户名和密码

# 关闭selinux 关闭防火墙
# 创建认证文件
touch /etc/squid/passwords
# -b 在命令行中一并输入用户名和密码而不是根据提示输入密码
# -d 采用CRYPT算法对密码进行加密
# 密码不能超过8位
htpasswd -bd /etc/squid/passwords 用户名 密码

配置文件/etc/squid/squid.conf

acl localnet src 10.101.0.0/20		# 允许访问的地址段
acl SSL_ports port 443
acl Safe_ports port 80		# http 放行
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
#acl Safe_ports port 70		# gopher
#acl Safe_ports port 210		# wais
#acl Safe_ports port 1025-65535	# unregistered ports
#acl Safe_ports port 280		# http-mgmt
#acl Safe_ports port 488		# gss-http
#acl Safe_ports port 591		# filemaker
#acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports # 拒绝不安全的端口
http_access deny CONNECT !SSL_ports #不允许连接非安全ssl_port端口
#http_access allow localhost manager
#http_access deny manager
#http_access allow localnet
# 允许本地
http_access allow localhost
#http_access deny all
# 服务端口
http_port 3128

coredump_dir /var/spool/squid

refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern .		0	20%	4320
# 这是指定认证程序以及账户文件
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
# 允许认证的访问规则
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
# 因为规则是从上往下的所以deny all 放在最后
http_access deny all

启动服务

systemctl enable squid
systemctl restart squid

使用

linux下使用

# 配置代理
# 也可以将这两条命令放到/etc/profile中这样以后每次都不用手动设置了
export http_proxy=http://user:password@10.101.10.110:3128/
export https_proxy=http://user:password@10.101.10.110:3128/
# 验证 返回 HTTP/1.1 200 OK
curl -I www.baidu.com
# 取消代理 其实就是删除这俩变量
unset http_proxy
unset https_proxy

windows下使用

  1. 打开IE浏览器→“工具”,点击“Internet选项”
  2. 在“Internet选项”对话框下,点击“连接”选项卡,然后点击“局域网设置”按钮
  3. 在弹出的“局域网(LAN)设置”对话框下,选中“为LAN使用代理服务器”的复选框。然后点击“高级”按钮
  4. 在弹出的“代理服务器设置”对话框下,设置不同类型的代理服务器(如HTTP、HTTPS或FTP)。然后输入“要使用的代理服务器地址”,点击“确定”按钮即可。

其它请自行百度。。

posted @ 2021-07-18 20:15  La0jin  阅读(448)  评论(0编辑  收藏  举报