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..11的80端口上,accel 指启用加速模式,vhost,vport用于转发请求
http_port 192.168.94.11: accel vhost vport

# cache_peer 指定后端服务器地址, 为后端服务端口, 为 ICP 端口号(多个 Squid 时用),originserver 指定资源服务器,round-robin指使用轮询方式,weight指的是权重,自由分配,name 指定一个别名
cache_peer 192.168.94.22 parent no-query originserver round-robin weight= name=web1
cache_peer 192.168.94.33 parent no-query originserver round-robin weight= 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

CentOS 7 Squid代理服务器反向代理的更多相关文章

  1. CentOS 7 Squid代理服务器正向代理-透明代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 透明代理:提供与传统代理相同的功 ...

  2. CentOS 7 Squid代理服务器正向代理-传统代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 传统代理:普通的代理服务,多见于 ...

  3. 用Squid实现反向代理

    Last-Modified: 告诉反向代理页面什么时间被修改 Expires: 告诉反向代理页面什么时间应该从缓冲区中删除 Cache-Control: 告诉反向代理页面是否应该被缓冲 Pragma: ...

  4. 详细解析用Squid实现反向代理的方法

    代理服务器是使 用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受 外部网主机的攻击.但是,如果想让互联网 ...

  5. CentOS安装squid代理服务器

    Squid是一个Linux系统下优秀的代理服务器软件.Squid可以配置普通上网代理(正向代理).反向代理.透明代理.系统是CentOS6.2.Squid主机IP为192.168.1.100. 安装s ...

  6. Centos 7配置nginx反向代理负载均衡集群

    一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web ...

  7. Centos下搭建nginx反向代理

    上一节已经用编译的方式搭建好了一个nginx,链接在下面 https://www.toutiao.com/i6693130510777975300/ 然后这次我们把上次搭建好的nginx作为反向代理的 ...

  8. squid代理服务器根据代理IP路由

    import os ips = os.popen("""ifconfig |grep 'inet addr:'|awk '{print $2}'| sed '$d'| s ...

  9. CentOS 7 安装 Nginx 反向代理 node

    安装 nginx yum install epel-release yum install nginx 配置 nginx sudo vim /etc/nginx/nginx.conf, 改成下面配置: ...

随机推荐

  1. PostgreSQL自学笔记:3 数据库的基本操作

    3 数据库的基本操作 3.1 创建数据库 3.1.1 使用对象浏览器创建数据库 [Server] -> PostgreSQL 9.6 -> 数据库,右击 -> 创建 通常: 数据库: ...

  2. Docker操作笔记(一)使用镜像

    使用镜像 一)获取镜像 从Docker镜像仓库获取命令的格式是: docker pull [选项] [Docker Registry 地址[:端口号]] 仓库名[:标签] 具体的选项可以通过docke ...

  3. CMake入门

    CMake入门 CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似 ...

  4. java列表数据基本操作

    列表数据组基本的增删改查 package cn.edu.fhj.day002; import java.util.ArrayList; public class ArrList { // 定义一个主函 ...

  5. centos7.4安装redis

    参考连接 https://blog.csdn.net/qq_19399235/article/details/78313633/

  6. linux学习:sed与awk与tr用法整理

    流编辑器:sed 语法:sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数: -e<script>或--expression ...

  7. Codeforces 1154 - A/B/C/D/E/F/G - (Undone)

    链接:https://codeforces.com/contest/1154 A - Restoring Three Numbers - [水] #include<bits/stdc++.h&g ...

  8. [02-01]Java学习路线(完整详细版)

    Java基础课程 Java基础课程内容涉及:Java开发介绍.Java数组.Java面向对象.常用基础类.集合.IO流.多线程.异常.网络.反射. 第一阶段:Java基础 1 第一部分:Java开发介 ...

  9. python特定时间发送消息到微信公众号

    #!/usr/bin/env python# -*- coding: utf-8 -*-# __author__ = 'James'# 导入模块from wxpy import *import tim ...

  10. SQL的几种连接:内连接、外连接(左连接、右连接、全连接)

    表结构见前面博客 1.内连接 1.1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列. 三种写法: select * from t ...