Centos8使用Squid配置代理服务器的详细过程

yizhihongxing

下面就为大家讲解一下CentOS 8如何使用Squid配置代理服务器的详细过程。

环境准备

在开始配置Squid代理服务器之前,需要确保你的CentOS 8系统已经正确连接互联网。安装Squid之前,还需安装epel-release和squid软件包:

sudo yum install -y epel-release
sudo yum install -y squid

配置Squid代理

安装Squid之后,需要进行一些配置才能使其正常工作。下面列举了常用的Squid代理配置:

1. 配置Squid监听端口

默认情况下,Squid会监听来自本地客户端的请求。如果你想要让Squid监听其他机器的请求,需要修改Squid配置文件/etc/squid/squid.conf,并按照以下格式添加:

acl localnet src 192.168.0.0/16  # 允许本地网络访问
http_access allow localnet      # 允许本地网络访问

注意:localnet这个标签可自定义,必须要注意保留acl和http_access这两个标签使用。这里示例使用的是本地网络标签,即允许本地网络访问。

然后找到下面这行并将之前的井号删除:

#http_port 3128

此时,你需要指定你想要对哪个网络接口进行监听,默认情况下,是“127.0.0.1”(即localhost)。

如要监听所有接口,应将其修改如下:

http_port 3128

2. 配置Squid代理缓存

Squid代理服务器允许将访问过的网页缓存到本地,以提高访问速度。下面是Squid缓存的配置示例:

# 缓存的最大大小,单位:MB
cache_dir ufs /var/spool/squid 100 16 256

# 缓存最大文件的大小
maximum_object_size 512 KB

# 缓存的最短时间
minimum_object_size 0 KB

以上配置文件中,第一行定义了Squid缓存目录所在位置及大小,第二行定义了允许缓存的最大文件大小,第三行定义了允许缓存的最短时间。

3. 配置Squid访问控制

Squid代理服务器提供了多种控制访问的方法,如ACL、时间、IP地址、端口和域名等。可以在Squid配置文件的最后添加以下内容:

# 允许本地网络访问除ssh、ftp外的其他所有服务
http_access allow localnet !CONNECT !FTP

# 允许指定的地址或域名访问
acl allowed_host src x.x.x.x
acl allowed_domain dstdomain .google.com
http_access allow allowed_host
http_access allow allowed_domain

# 不允许某些地址或域名访问
acl forbidden_host src y.y.y.y
acl forbidden_domain dstdomain .baidu.com
http_access deny forbidden_host
http_access deny forbidden_domain

注意:其中x.x.x.x、y.y.y.y、google.com和baidu.com是示例,在实际配置中,你需要按照自己的需求进行修改。

4. 配置Squid代理身份验证

如果需要对访问者进行身份验证,则需要进行以下配置:

# 配置用户名密码文件目录
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

# 建立一个用户名为proxyuser的账户
# 密码为proxypasswd
htpasswd -c /etc/squid/passwd proxyuser proxypasswd

# 允许认证的用户
acl authenticated_user proxy_auth REQUIRED
# 允许这些用户访问
http_access allow authenticated_user
# 不认证的用户只允许访问局域网
http_access deny !authenticated_user localnet

以上代码中,第一行指定了Squid基本身份验证程序及其所在位置,第六行使用htpasswd工具创建了一个用户名和密码,最后三行是允许或拒绝不同类型用户的访问。

示范一:使用Squid代理获取百度首页

在Squid代理配置完成之后,可以使用curl测试代理是否可用。示例代码如下:

curl -x 192.168.0.102:3128 -I http://www.baidu.com/

此命令会将请求转发至代理服务器,通过-I参数显示HTTP头部信息。

示范二:使用Squid代理访问其他安装环境的CentOS 8机器

如果你想从一台CentOS 8机器上的B机器上获取网站的请求,则可以使用下面的命令:

curl -x http://192.168.0.102:3128 -v http://www.example.com/

其中的http://192.168.0.102:3128是代理服务器的IP地址,www.example.com是希望获取的网站。

以上就是使用Squid代理配置代理服务器的全部内容。在配置Squid代理服务器的过程中,请注意按需修改配置文件,并且更新之后启动Squid服务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos8使用Squid配置代理服务器的详细过程 - Python技术站

(1)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Bootstrap table两种分页示例

    Bootstrap Table 是基于Bootstrap的一个开源的支持响应式的好用的数据表格插件。 Bootstrap Table有默认的分页功能,用起来也非常方便。但是,有时候默认的分页还不够满足我们的需求,我们需要自定义一些分页功能。下面我们将介绍Bootstrap Table两种分页示例。 示例1:自定义分页 首先,我们需要将Bootstrap Ta…

    other 2023年6月27日
    00
  • Golang执行cmd命令行的方法

    下面是关于Golang执行cmd命令行的方法的完整攻略: 1. 使用os包 通过os包可以在Golang中执行cmd命令行。 package main import ( "fmt" "os/exec" ) func main() { // 创建cmd命令行的执行对象 cmd := exec.Command("…

    other 2023年6月27日
    00
  • 苹果备份文件在哪里

    苹果设备备份文件的保存位置取决于备份方式不同。从iTunes备份的文件保存在本地计算机上,而从iCloud备份的文件保存在云端。 从iTunes备份的文件位置: 若您使用 iTunes 进行 iOS 设备备份,备份文件的保存路径将取决于您的操作系统。通常而言,备份文件由系统自动存储在以下路径中: 对于Windows系统用户: 在 Windows 7、8 和 …

    其他 2023年4月16日
    00
  • Git 常用命令整理

    Git 常用命令整理 1. Git 工作流程 Git 是一款分布式版本控制系统,采用的是以提交为基础的工作流程。当我们在项目中添加、修改和删除文件时,我们会将这些修改提交到本地 Git 仓库中。随后,通过 push 操作,将本地提交推送到远程 Git 仓库中。 2. Git 常用命令 2.1. 创建本地仓库 在本地创建一个新的 Git 仓库 $ git in…

    other 2023年6月26日
    00
  • 利用PHP和百度ai实现文本以及图片的审核

    利用PHP和百度AI实现文本以及图片的审核 在很多网站应用中,我们可能需要对用户上传的文本和图片进行审核,以保证其内容不含有不良信息,不违反法律法规,同时也保护其他用户的利益。本文将介绍如何利用PHP和百度AI实现文本和图片审核的功能。 百度AI平台介绍 百度AI(Baidu AI)平台是由百度推出的人工智能开发平台,涵盖了图像识别、语音识别、自然语言处理等…

    其他 2023年3月28日
    00
  • 教你怎么通过IDEA设置堆内存空间

    教你怎么通过IDEA设置堆内存空间 在使用IntelliJ IDEA进行Java开发时,可以通过设置堆内存空间来优化程序的性能。下面是通过IDEA设置堆内存空间的完整攻略。 步骤一:打开IDEA的设置 打开IntelliJ IDEA,并点击顶部菜单栏的 \”File\”(文件)选项。 在下拉菜单中,选择 \”Settings\”(设置)选项。 步骤二:进入J…

    other 2023年7月31日
    00
  • 详解基于Android App 安全登录认证解决方案

    详解基于Android App 安全登录认证解决方案 简介 在安卓应用的开发过程中,用户登录认证是很重要的一环。为了保证用户的安全性和数据的保密性,我们需要考虑一种安全的登录认证解决方案。本文将详细介绍基于Android App的安全登录认证解决方案,包括常见的攻击方式,安全措施和单点登录等内容。 常见的攻击方式 在介绍登录认证解决方案之前,首先需要了解一些…

    other 2023年6月26日
    00
  • redis实现分布式session的解决方案

    下面是关于“redis实现分布式session的解决方案”的完整攻略: 什么是分布式session? Session一般指的是“会话”,分布式session指的就是用户的会话信息存储在多个节点上,而不是只存储在一台服务器上。分布式session可以让多个服务器共同维护用户状态,同时也可以分担单个服务器的压力,降低服务的单点故障。 为什么要使用redis实现分…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部