安装和配置Squid代理服务器

Squid是用于运行 HTTP 代理的软件。在本文中,我们将展示如何安装和配置 Squid 代理服务器要开始安装,请通过 SSH 连接到服务器并运行以下命令。

中央操作系统:

[root@proxy ~]# yum -y install squid

Ubuntu/Debian:

[root@proxy ~]# apt-get -y install squid

清理 Squid 配置文件。

[root@proxy ~]# cat /dev/null > /etc/squid/squid.conf

导航到 Squid 目录并打开其配置文件。

[root@proxy ~]# cd /etc/squid/
[root@proxy squid]# vi squid.conf

通过按键盘上的 Insert 并输入以下内容开始编辑配置文件。

中央操作系统:

auth_param 基本程序 /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_users
auth_param 基本儿童 5
auth_param 基本领域 Auth
auth_param 基本凭据ttl 1 小时
acl ncsa_users proxy_auth 需要
ignore_expect_100 on
access_log /var/log/squid/access.log 鱿鱼
server_persistent_connections 关闭
dns_v4_first 开启
可见主机名本地主机
缓存拒绝所有
http_port 17102

acl proxy_user_acl proxy_auth proxy_user
acl ip_1 myip 2.58.28.45
tcp_outgoing_address 2.58.28.45
http_access 允许 proxy_user_acl ip_1

forwarded_for 关闭
request_header_access 允许 允许所有
request_header_access 授权允许所有
request_header_access WWW-Authenticate 允许所有
request_header_access 代理授权允许所有
request_header_access Proxy-Authenticate allow all
request_header_access 缓存控制允许所有
request_header_access 内容编码允许所有
request_header_access 内容长度允许所有
request_header_access 内容类型允许所有
request_header_access 日期允许所有
request_header_access 过期允许所有
request_header_access 主机允许所有
request_header_access If-Modified-Since 允许所有
request_header_access Last-Modified 允许所有
request_header_access 位置允许所有
request_header_access Pragma 允许所有
request_header_access 接受 允许所有
request_header_access Accept-Charset 允许所有
request_header_access Accept-Encoding 允许所有
request_header_access Accept-Language allow all
request_header_access 内容语言允许所有
request_header_access Mime-Version 允许所有
request_header_access Retry-After allow all
request_header_access 标题允许所有
request_header_access 连接允许所有
request_header_access 代理连接允许所有
request_header_access 用户代理允许所有
request_header_access Cookie 允许所有
request_header_access Set-Cookie 允许所有

Ubuntu/Debian:

auth_param 基本程序 /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_users
auth_param 基本儿童 5
auth_param 基本领域 Auth
auth_param 基本凭据ttl 1 小时
acl ncsa_users proxy_auth 需要
ignore_expect_100 on
access_log /var/log/squid/access.log 鱿鱼
server_persistent_connections 关闭
dns_v4_first 开启
可见主机名本地主机
缓存拒绝所有
http_port 17102

acl proxy_user_acl proxy_auth proxy_user
acl ip_1 myip 2.58.28.45
tcp_outgoing_address 2.58.28.45
http_access 允许 proxy_user_acl ip_1

forwarded_for 关闭
request_header_access 允许 允许所有
request_header_access 授权允许所有
request_header_access WWW-Authenticate 允许所有
request_header_access 代理授权允许所有
request_header_access Proxy-Authenticate allow all
request_header_access 缓存控制允许所有
request_header_access 内容编码允许所有
request_header_access 内容长度允许所有
request_header_access 内容类型允许所有
request_header_access 日期允许所有
request_header_access 过期允许所有
request_header_access 主机允许所有
request_header_access If-Modified-Since 允许所有
request_header_access Last-Modified 允许所有
request_header_access 位置允许所有
request_header_access Pragma 允许所有
request_header_access 接受 允许所有
request_header_access Accept-Charset 允许所有
request_header_access Accept-Encoding 允许所有
request_header_access Accept-Language allow all
request_header_access 内容语言允许所有
request_header_access Mime-Version 允许所有
request_header_access Retry-After allow all
request_header_access 标题允许所有
request_header_access 连接允许所有
request_header_access 代理连接允许所有
request_header_access 用户代理允许所有
request_header_access Cookie 允许所有
request_header_access Set-Cookie 允许所有

按键盘上的 Esc 和 :wq 键保存并关闭文件。

我们还需要 htpasswd 实用程序来为我们的代理用户生成密码。为此,请安装 httpd-tools 包。

中央操作系统:

[root@proxy squid]# yum install -y httpd-tools

Ubuntu/Debian:

[root@proxy squid]# apt-get install -y apache2-utils

为名为 proxy_user 的用户生成密码。

[root@proxy squid]# htpasswd -b -c squid_users proxy_user e7aB4AmpUvFDj6E
为用户 proxy_user 添加密码

上面的命令有 3 个参数:

  • squid_users – 保存用户密码的文件名,
  • proxy_user – 用户名
  • e7aB4AmpUvFDj6E – 密码

检查密码是否生成成功。

[root@proxy squid]# cat squid_users
代理用户:$apr1$Zac9nPwt$pbDUf3LsyWdeIei.JLcwF。

如果 Squid 服务尚未运行,请启动它。

[root@proxy squid]# systemctl status squid
● squid.service - Squid 缓存代理
   已加载:已加载(/usr/lib/systemd/system/squid.service;已禁用;供应商预设:已禁用)
   活跃:不活跃(死)
[root@proxy squid]# systemctl start squid
[root@proxy squid]# systemctl status squid
● squid.service - Squid 缓存代理
   已加载:已加载(/usr/lib/systemd/system/squid.service;已禁用;供应商预设:已禁用)
   活动:自 2021 年 9 月 8 日星期三 12:56:37 UTC 起活动(运行);3 秒前
  进程:1342 ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF (code=exited, status=0/SUCCESS)
  进程:1349 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
  进程:1344 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
 主PID:1351(鱿鱼)
   CGroup:/system.slice/squid.service
           ├─1351 /usr/sbin/squid -f /etc/squid/squid.conf
           └─1353 (squid-1) -f /etc/squid/squid.conf

9 月 8 日 12:56:37 代理 systemd[1]:停止 Squid 缓存代理。
9 月 8 日 12:56:37 代理 systemd[1]:启动 Squid 缓存代理...
9 月 8 日 12:56:37 代理 systemd[1]:启动 Squid 缓存代理。
Sep 08 12:56:37 proxy squid[1351]: Squid Parent: will start 1 kids
9 月 8 日 12:56:37 代理 squid[1351]:Squid Parent:(squid-1)进程 1353 已启动

检查代理是否可访问并与任何支持 HTTP 代理的客户端一起使用。例如:

curl -x http://proxy_user:e7aB4AmpUvFDj6E@2.58.28.45:17102 ipinfo.io
{
  “ip”:“2.58.28.45”,
  “城市”:“伦敦”,
  “地区”:“英格兰”,
  “国家”:“国标”,
  "loc": "51.5085,-0.1257",
  "org": "AS61317 IPXO UK Ltd.",
  “邮政”:“EC1A”,
  “时区”:“欧洲/伦敦”,
  “自述文件”:“https://ipinfo.io/missingauth”

文章链接: https://www.mfisp.com/8577.html

文章标题:安装和配置Squid代理服务器

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
IDC云库

如何在裸机服务器上安装和运行BGP守护程序

2022-7-25 12:22:26

IDC云库

云计算的9种常见用途

2022-7-25 13:45:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
客户经理
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠