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下使用
- 打开IE浏览器→“工具”,点击“Internet选项”
- 在“Internet选项”对话框下,点击“连接”选项卡,然后点击“局域网设置”按钮
- 在弹出的“局域网(LAN)设置”对话框下,选中“为LAN使用代理服务器”的复选框。然后点击“高级”按钮
- 在弹出的“代理服务器设置”对话框下,设置不同类型的代理服务器(如HTTP、HTTPS或FTP)。然后输入“要使用的代理服务器地址”,点击“确定”按钮即可。
其它请自行百度。。
本文来自博客园,作者:La0jin,转载请注明原文链接:https://www.cnblogs.com/la0jin/p/15027577.html