squid 反向代理且需要賬號、密碼驗證

qq13650793239發表於2018-12-13

最近公司內網部分業務需要連到外網更新、下載軟體 ,只要做一個代理讓別人去更新,並且要有賬號密碼,這裡用到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/


 

相關文章