Linux squid 反向代理服务器

环境规划

反向代理服务器就是代理服务器代替目标服务器去接受并返回客户端的请求即隐藏目标服务器。

Squid服务器IP:192.168.0.128/24  (外网),192.168.1.254/24     (内网)

Web apache1服务器IP:  192.168.1.129/24  (内网)

Web apache1服务器IP:  192.168.1.130/24  (内网)

服务器底层系统:   CentOS Linux release 8.2.2004 (Core)

win7客户机IP:  192.168.0.1          (内网)

 

准备web服务

准备web apache1

准备Web apache1服务器,安装服务

[root@web1 ~]# yum -y install httpd

因为web服务器只做测试效果用,所以用最基础的配置即可,制作简易网页放进默认存放网页的目录中,之后重启web服务

[root@web1 ~]# echo "This is web1" > /var/www/html/index.html 
[root@web1 ~]# systemctl restart httpd

 

准备web apache2

准备Web apache2服务器,安装服务

[root@web2 ~]# yum -y install httpd

准备简易网页,与web1同理,之后重启web服务

[root@web2 ~]# echo "This is web2" > /var/www/html/index.html 
[root@web2 ~]# systemctl restart httpd

 

Squid反向代理

配置squid反向代理服务器,安装服务

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

修改配置文件

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

编辑,其实跟正向代理的配置是一样的,只不过是多了cache_peer的反向代理参数

http_port 192.168.1.254:80                  代理Squid监听的端口 
cache_mem 64 MB                             内存缓冲设置是指需要使用多少内存来作为高速缓存 
maximum_object_size 4 MB                    允许最大文件请求大小 
cache_dir ufs /var/spool/squid 100 16 256   用于指定硬盘缓冲区,缓冲目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
cache_peer 192.168.1.129 parent 80 0 proxy-only originserver 
access_log /var/log/squid/access.log        设置访问日志 
acl localnet src 192.168.1.0/24             设置访问控制列表只允许192.168.1.0/24网段访问
http_access allow localnet
http_access deny all  
:wq
cache_peer 192.168.1.129 parent 80 0 proxy-only  解析
cache_peer:  用于设置反向代理的后端IP地址
parent:     用于配置反向代理监听的端口
no-query:   用于设置反向代理的响应方式为不做查询操作,直接获取后端数据 
originserver:使此服务器作为源服务器进行解析。
weight:      权重(根据需求自行添加)

检查配置文件是否有误,重启服务

[root@squid ~]# squid -kcheck 
[root@squid ~]# systemctl restart squid

 

客户机测试反向

在浏览器选项——连接——局域网不需要设置代理

访问squid反向服务器地址,可以看到web1服务器的网页

 

Squid反向代理轮循调度

平衡轮循将访问量分散开,分散给所反向代理的web服务器,从而减轻服务器的压力

在已经配置完成squid反向的基础上开始配置

编辑配置文件

[root@squid ~]# vi /etc/squid/squid.conf
http_port 192.168.1.254:80
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_peer 192.168.1.129 parent 80 0 proxy-only round-robin originserver name=web1
cache_peer 192.168.1.130 parent 80 0 proxy-only round-robin originserver name=web2
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
:wq

参数解析: round-robin可以让代理轮询多台源服务器

检查配置文件是否有误,重启服务

[root@squid ~]# squid -kcheck  
[root@squid ~]# systemctl restart squid

 

客户机测试轮循调度

客户机浏览器设置好代理访问squid服务器

刷新网页,内容已经变成了web2服务器的网页

 

 

 

 

 

作者: 红烧悠鸽
本文采用 CC BY-NC-SA 4.0 协议
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇