在CentOS上搭建Squid代理服务器详解

一、安装

首先,通过yum管理工具安装Squid代理服务器httpdtools用于生成密码文件):

yum install squid -y
yum install httpd-tools -y

二、生成密码文件

创建用于存储用户认证信息目录

mkdir /etc/squid_user/

使用htpasswd命令生成密码文件例如,为用户名linjiusheng设置密码

htpasswd -cd /etc/squid_user/passwords linjiusheng

输入密码时,注意密码不要超过8位。

三、测试密码文件

使用basic_ncsa_auth工具测试密码文件输入用户名和密码进行验证

/usr/lib64/squid/basic_ncsa_auth /etc/squid_user/passwords

输入用户名和密码例如linjiusheng szpython),如果提示OK,说明验证成功。按ctrl + c打断测试

四、配置Squid

编辑Squid配置文件

vim /etc/squid/squid.conf

文件末尾添加以下内容

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid_user/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

五、启动服务

启动Squid服务

systemctl start squid.service

停止服务:

systemctl stop squid.service

重启服务:

systemctl restart squid.service

六、删除用户

如果需要删除用户,可以编辑密码文件

vim /etc/squid_user/passwords

七、日志

Squid日志默认位于/var/log/squid/目录下。

八、测试代码

使用以下Python代码测试配置的Squid代理服务器

import requests

# 代理服务器的地址端口
proxy_url = "http://your_proxy_server_ip:3128"

# 代理服务器的用户名和密码
proxy_username = "your_username"
proxy_password = "your_password"

# 目标网站的URL
target_url = "http://www.example.com"

# 构建代理配置
proxy_config = {
    "http": proxy_url,
    "https": proxy_url,
}

# 构建包含身份验证信息的HTTP代理
proxy_auth = requests.auth.HTTPProxyAuth(proxy_username, proxy_password)

# 发送带有代理配置身份验证请求
try:
    response = requests.get(target_url, proxies=proxy_config, auth=proxy_auth)
    if response.status_code == 200:
        print("请求成功!")
        print(response.text)
    else:
        print(f"请求失败状态码:{response.status_code}")
except requests.exceptions.RequestException as e:
    print(f"发生异常{e}")

替换your_proxy_server_ipyour_usernameyour_password为你的代理服务器IP、用户名和密码这个代码段演示如何使用Pythonrequests库发送通过Squid代理的HTTP请求

原文地址:https://blog.csdn.net/linjiuxiansheng/article/details/134789643

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42252.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注