Squid代理配置使用

1.Squid简单说明

Squid Cache(简称为Squid)是HTTP代理服务器软件。Squid用途广泛,可以作为缓存服务器,可以过滤流量帮助网络安全,也可以作为代理服务器链中的一环,向上级代理转发数据或直接连接互联网。Squid程序在Unix一类系统运行。由于它是开源软件,有网站修改Squid的源代码,编译为原生Windows版[2];用户也可在Windows里安装Cygwin,然后在Cygwin里编译Squid。

Squid历史悠久,功能完善。除了HTTP外,对FTP与HTTPS的支持也相当好,在3.0测试版中也支持了IPv6。但是Squid的上级代理不能使用SOCKS协议。

2.使用场景

这里,我有两台服务器。A:10.198.2.21 B:10.198.2.22,其中A具有公网访问能力,B不具备公网访问能力。

因此,可以让B具有公网访问能力或让B某些功能例如yum安装软件能正常使用。本文介绍的就是如下的方案:

在A服务器运行一个squid服务,B的某些操作通过squid来代理转发实现。

3.部署配置

$ sudo apt-get update
$ sudo apt-get install squid

配置文件:

$ vim /etc/squid/squid.conf
acl SSL_ports port 443                                    # 定义一个名为 SSL_ports 的 ACL(访问控制列表),表示允许的 SSL 端口(443 是 HTTPS 的默认端口)
acl CONNECT method CONNECT                     # 定义一个名为 CONNECT 的 ACL,表示 HTTP CONNECT 方法,通常用于代理 HTTPS 请求。
# http_access deny !Safe_ports                          # 拒绝所有不是 Safe_ports 的端口访问(!Safe_ports 表示“不是 Safe_ports”)
http_access deny CONNECT !SSL_ports           # 拒绝所有使用 CONNECT 方法且不是 SSL(443)端口的请求
http_access allow localhost manager                # 允许本机访问 Squid 的管理页面(cachemgr.cgi)
http_access deny manager                              # 拒绝所有其他来源访问管理页面(增强安全性)
include /etc/squid/conf.d/*
http_access allow all                                      # 允许所有使用代理。
http_port 3128                                               # 设置 Squid 监听端口为 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 \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern .		0	20%	4320

启动服务

$ systemctl enable squid
$ systemctl start squid

4.代理使用

export http_proxy=http://IP:3128
export https_proxy=http://IP:3128

将IP替换为代理服务器的IP地址。这样,其他服务器就可以通过代理服务器进行网络访问了。

5.代理安全配置

如何想实现通过账户密码来使用代理,这里也可以通过httpd-tools工具安装密码生成工具,通过配置squid配置文件,增加用户名和密码配置来实现安全认证。这里我们在内网使用,就不进行安全认证的配置。
如果需要,具体可以参考链接:https://www.volcengine.com/docs/6886/162922

posted @ 2025-06-09 15:30  yuhaohao  阅读(240)  评论(0)    收藏  举报