squid 反向代理且需要账号、密码验证

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq13650793239/article/details/84994414

最近公司内网部分业务需要连到外网更新、下载软件 ,只要做一个代理让别人去更新,并且要有账号密码,这里用到squid

安装: yum -y install squid 

配置详解:
/etc/squid/squid.conf:这个是主要的设置文件,所有squid所需要的设置都放在这里
/usr/sbin/squid:squid 的主程序
/var/spool/squid:预设的squid放置缓存的地方
/usr/lib64/squid/:squid 提共的控制组件,如密码认证等

ACL 添加规则: acl acl_element_name type_of_acl_element values_to_acl
例: acl my_url url_regex -i http://www.baidu.com
    http_access allow my_url

* src : 源地址 (即客户机IP地址)
* dst : 目标地址 (即服务器IP地址)
* srcdomain : 源名称 (即客户机名称)
* dstdomain : 目标名称 (即服务器名称)
* time : 一天中的时刻和一周内的一天
* url_regex : URL 规则表达式匹配
* urlpath_regex: URL-path 规则表达式匹配,略去协议和主机名
* proxy_auth : 通过外部程序进行用户验证
* maxconn : 单一 IP 的最大连接数
# 使用帐号密码认证方式使用代理
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_user.txt
auth_param basic children 5
auth_param basic realm Welcome to pycredit's proxy-only web server
# 定义授权组
acl squid_user proxy_auth REQUIRED
# 定义端口
acl Safe_ports port 80          # http
acl Safe_ports port 443         # https
# 定义url
#acl my_url url_regex -i http://www.baidu.com

# 拒绝所有非定义的端口
http_access deny !Safe_ports
#http_access allow my_url
# 允许授权组
http_access allow squid_user

# 拒绝其它所有未定义的
http_access deny all

# Squid 端口
http_port 3128

# 缓存设置
cache_dir ufs /var/spool/squid 100 16 256 read-only
cache_mem 0 MB
coredump_dir /var/spool/squid

设置授权用户:
做好配置后,我们需要设置授权用户(即上面设置的密码文件):
htpasswd -c /etc/squid/squid_user.txt yunwei
此命令使用htpasswd进行密码设置生成用户yunwei,首次生成文件需要使用-c参数,如果无此命令则需使用指令, yum install httpd,安装httpd。

最后浏览器里面设置代理去测试,成功

详细请参考: http://support.7enet.com/squid%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84acl%E8%A7%84%E5%88%99/


 

猜你喜欢

转载自blog.csdn.net/qq13650793239/article/details/84994414
今日推荐