• CentOS 7 Squid代理服务器反向代理


    Squid反向代理

    将不同的URL请求分发到后台不同的Web服务器上,通过squid反向代理,可以加速网站的访问速度,同时互联网用户只能看到反向代理服务器的地址,加强网站的访问安全

    Squid反向代理原理

    Squid反向代理服务器位于本地Web服务器和Internet之间,客户端请求访问Web服务器时,DNS将访问的域名解析为Squid反向代理服务器的IP地址,客户端将访问Squid代理服务器。如果Squid反向代理服务器缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的Web服务器请求资源,然后将应答资源返回给客户端,同时也将该资源在本地缓存一份,供下一个请求使用

    实验环境 : 

    代理服务器IP(CnetOS7):192.168.94.11(NAT)  192.168.111.11(VMnet3)

    客户端IP(Windows):192.168.111.22(VMnet3)  

    真实服务器1(CnetOS7):192.168.94.22(NAT)

    真实服务器2(CnetOS7):192.168.94.33(NAT)

    之前做的透明代理的时候做的防火墙策略 , 要把策略清一下 , 把备份的配置文件还原 , 不然测试会出问题

    [root@squit squid]# vim /etc/squid.conf
    # 定义两个个基于域名的控制列表,分别命名为web1,web2
    acl web1 dstdomain www.damowang.cn
    acl web2 dstdomain www.damowang.cn
    
    # 允许以web1,web2为目标域名的访问 http_access allow web1 web2
    # 将端口监听在
    192.168.94.11的80端口上,accel 指启用加速模式,vhost,vport用于转发请求 http_port 192.168.94.11:80 accel vhost vport
    # cache_peer 指定后端服务器地址,
    80 为后端服务端口,0 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,round-robin指使用轮询方式,weight指的是权重,自由分配,name 指定一个别名 cache_peer 192.168.94.22 parent 80 0 no-query originserver round-robin weight=1 name=web1 cache_peer 192.168.94.33 parent 80 0 no-query originserver round-robin weight=1 name=web2

     

    cache_peer_domain web1 web2 www.damowang.cn  # 再4版本之前是用于域名轮询的 , 现在完全通过访问控制来实现  , 如果加上这句  , 检查语法时会报错

    如果用的是新版本的squid 这是需要注意的 

    配置Web服务器

    [root@web1 ~]# yum -y install httpd
    [root@web1 ~]# systemctl start httpd
    [root@web1 ~]# echo "<h1>Squid-Web1</h1>" > /var/www/html/index.html
    
    [root@web2 ~]# yum -y install httpd
    [root@web2 ~]# systemctl start httpd
    [root@web2 ~]# echo "<h1>Squid-Web2</h1>" > /var/www/html/index.html

    Windows配置 , 测试

     

    客户实际访问的是代理服务器 , 并不知道真实Web服务器的IP

  • 相关阅读:
    [LeetCode] 71. Simplify Path 简化路径
    [LeetCode] 173. Binary Search Tree Iterator 二叉搜索树迭代器
    [LeetCode] 142. Linked List Cycle II 链表中的环 II
    [LeetCode] 141. Linked List Cycle 链表中的环
    读经典——《CLR via C#》(Jeffrey Richter著) 笔记_友元程序集
    读经典——《CLR via C#》(Jeffrey Richter著) 笔记_通过ILDasm.exe查看编译器如何将类型及其成员编译成元数据
    tfs强行签入和删除工作区
    需要提升权限才能运行dism
    读经典——《CLR via C#》(Jeffrey Richter著) 笔记_类型的各种成员
    Jquery 获取URL中的参数
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9521083.html
Copyright © 2020-2023  润新知