Linux - 用 Squid 部署 http、https 代理服务器

一、部署

要在CentOS 7.2上使用Squid开启HTTP、HTTPS和Socket代理,可以按照以下步骤操作:

1.安装Squid: 使用以下命令安装Squid软件包:

sudo yum install squid

2.配置Squid: 打开Squid配置文件/etc/squid/squid.conf:

sudo vi /etc/squid/squid.conf

3.配置HTTP代理: 找到并取消注释以下行,确保以下行在Squid配置文件中没有注释:
4.Ps: 配置了这个之后如果要修改端口,有缓存问题,最下面删除缓存

http_port 3128

5.配置HTTPS代理: 在Squid配置文件中添加以下行,以开启HTTPS代理:

http_port 3129 ssl-bump cert=/etc/squid/ssl_cert/myCA.pem generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
ssl_bump server-first all
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
sslcrtd_children 8 startup=1 idle=1
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

6.配置Socket代理: 在Squid配置文件中添加以下行,以开启Socket代理:

acl socket_ports port 1080
acl allowed_ips src 192.168.0.0/24
http_access allow socket_ports allowed_ips

7.保存并关闭文件。
8.启动Squid服务: 使用以下命令启动Squid服务:

sudo systemctl start squid

二、放开配置防火墙端口

查看打开的防火墙端口列表

firewall-cmd --zone=public --list-ports

1.放开 3128 和 3129 端口:

sudo firewall-cmd --zone=public --add-port=3128/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3129/tcp --permanent
sudo firewall-cmd --reload

重启防火墙

sudo firewall-cmd --reload

1.去腾讯云服务器上面打开安全组 3128 端口

三、增加2句,隐藏真实ip变成匿名代理
via off
forwarded_for delete

1.最终配置:


http_port 3128 #默认端口号
acl all src 0.0.0.0/0.0.0.0 #允许所有ip访问, all是一个名字,可以随便起
via off
forwarded_for delete
http_access allow all #允许上面定义的all这个规则访问

1.初始化:在第一次启动之前或者修改了cache路径之后,需要重新初始化cache目录

squid -z

1启动:


systemctl start squid

然后就可以在浏览器或者自己的爬虫中使用了使用的话可以使用chrome+Proxy SwitchyOmega 进行配置查看代理日志可以使用如下命令:

tail -f /var/log/squid/access.log 

四、后续修改了配置文件都需要重启
systemctl restart squid

等待Squid服务重启后,再次运行以下命令以确认Squid服务是否重新启动:

systemctl status squid

如果Squid服务状态为Active: active (running),则表示服务已成功重启。

五、加快 https 代理访问速度
dns_v4_first on
六、配置用户名密码校验

httpd-tools: 这是包含 htpasswd 命令的软件包,用于创建和管理密码文件 要设置 Squid 的用户名和密码,可以按照以下步骤进行操作:

sudo yum install httpd-tools

输入以下命令创建密码文件并添加用户:

sudo htpasswd -c /etc/squid/passwd 用户名

替换 “用户名” 为你想要设置的实际用户名。执行此命令后,会要求你输入密码并确认密码。

如果要添加更多用户,可以使用以下命令:

sudo htpasswd /etc/squid/passwd 用户名

替换 “用户名” 为你想要添加的实际用户名。同样,执行此命令后,会要求你输入密码并确认密码。

打开 Squid 配置文件进行编辑:

sudo vi /etc/squid/squid.conf

在配置文件中找到 http_access allow all 这一行,删除,并在原位置添加以下配置:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

这些配置将启用基本的 HTTP 身份验证,并将用户凭据保存在 /etc/squid/passwd 文件中。

重启 Squid 服务以使配置生效:

sudo systemctl restart squid

现在访问 Squid 代理时,将需要提供用户名和密码才能获得访问权限。

缓存问题解决

清除 Squid 缓存:

使用以下命令停止 Squid 服务

sudo systemctl stop squid
-   使用以下命令清除 Squid 缓存文件:
sudo rm -rf /var/spool/squid/*

使用以下命令启动 Squid 服务:

sudo systemctl start squid

参考Linux - 用 Squid 部署 http、https 代理服务器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值