一、正向代理

  先说一正向代理(Forward Proxy),通常普通用户使用的比较多的,是正向代理。也就是在浏览器的网络连接属性框中,填写上一个代理服务器的ip和端口,即可通过代理服务器中转,去浏览网页。有时候网站对单个 IP 某些操作进行了次数限制,设置代理 IP 访问,不断的更改代理 IP 来突破网站限制,也是正向代理。

配置这种代理非常简单:

1、打开apache的conf,启用好 proxy 模块后,加入如下几行:(全局配置)

 ProxyRequests On
ProxyVia On <Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.50.80/
</Proxy>

2、当然也可以把在虚拟主机中进行设置,如下:

开启虚拟主机,具体方法见上篇博客。再编辑虚拟主机配置文件:

 <VirtualHost *:>
ServerAdmin test@test.com
DocumentRoot /var/www/test
ServerName www.test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory "/var/www/test">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory> ProxyRequests On
ProxyVia On <Proxy *>
Order deny,allow
Deny from all
Allow from 192.168.50.80/
</Proxy>
</VirtualHost>

  然后保存退出,重启加载 Apache 服务,现在即可在浏览器的网络连接属性框中或 QQ 登录配置中,填写上 your_apache_server_ip 的 ip 地址,端口是 80,开始用代理了。使用 Apache 提供的代理,也可以加身份验证,或者设置 ACL 来限制客户端来源等。这些配置就和普通的 Apache 站点配置一样。其实关键就是要有 ProxyRequests 开启,功能就已经可以使用了。

二、反向代理

  反向代理也是个非常有用的功能。反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。常用做网站服务器配置,可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接,隐藏后端真实服务器,更加安全。如 负载均衡 ,CDN 缓存都是反向代理。配置方法如下:

1、启用好 proxy 模块后,加入下边一内容:(全局配置)

 ProxyRequests off

 <Proxy /test>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /test http://www.reverse.com/proxy
ProxyPassReverse /test http://www.reverse.com/proxy

2、在虚拟主机中进行设置,如下:

类似上面,先开启虚拟主机设置,在编辑配置文件

 <VirtualHost *:>
ServerAdmin test@test.com
ServerName www.test.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common ProxyRequests Off <Proxy /test>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /test http://www.reverse.com/proxy
ProxyPassReverse /test http://www.reverse.com/proxy
</VirtualHost>

三、正向代理和反向代理对比

  首先可以明确的是apache在开启代理的同时,对于同一虚拟主机,只能正向、反向二选一,不能同时开启正向代理与反向代理。正向代理与反向代理水火不相容。

  其次,正向代理是替客户端做代理,隐藏客户端在网络中的位置,反向代理是替应用服务器做代理,隐藏真实服务器在网络中的位置,进而避免受到攻击。正向代理隐藏客户端,保护客户端信息,反向代理隐藏真实服务器,保护服务器信息。

正向代理的应用
    1. 访问原来无法访问的资源
    2. 用作缓存,加速访问速度
    3. 对客户端访问授权,上网进行认证
    4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理的应用
    1. 保护内网安全
    2. 负载均衡
    3. 缓存,减少服务器的压力

Apache正向代理和反向代理的更多相关文章

  1. Apache 正向代理与反向代理配置

    Apache提供了 mod_proxy 模块用于提供代理服务,能够支持的包括正向代理.反向代理.透明代理.缓存.负载均衡,HTTP代理.FTP代理.SSL代理等若干强大的功能. 配置代理方法很简单那, ...

  2. Apache的代理服务器的配置 (正向代理 ,反向代理,轮询调度)

    一. 代理服务器的了解1.代理服务器 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自 ...

  3. Atitit.HTTP 代理原理及实现 正向代理与反向代理attilax总结

    Atitit.HTTP 代理原理及实现 正向代理与反向代理attilax总结 1. 普通代理1 1.1.1. 普通代理2 2. 隧道代理3 3. 反向代理 4 4. 正向代理也可以使用apache实现 ...

  4. nginx正向代理,反向代理,透明代理(总结)

    1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连 ...

  5. 正向代理与反向代理的区别【Nginx读书笔记】

    正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我 ...

  6. 正向代理与反向代理的区别【Nginx读书笔记】(zz)

    正向代理与反向代理的区别[Nginx读书笔记]       正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 ...

  7. Apache代理和反向代理

    服务器上安装了多个服务,包括apache的80端口,以及tomcat的8080和8090,为了访问使用方便,尝试了代理和反向代理.下面是部分配置以备参考: NameVirtualHost *:80 & ...

  8. Forward Proxy & Reverse Proxy | 正向代理 和 反向代理

    对请求和响应内容不做修改的转发的服务器,被称为代理服务器.代理服务器分为两种类型:正向代理 和 反向代理. 正向代理:面向互联网,从更广范围获取信息的代理. 反向代理:面向内部,一般用于某企业的网站的 ...

  9. 正向代理vs.反向代理

    正向代理         也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代 ...

随机推荐

  1. TVTK安装

    首先感觉到的一点就是在https://www.lfd.uci.edu/~gohlke/pythonlibs/#chaco这个比较受欢迎的下载Python库的网站上下载大于20mb的whl文件时就很可能 ...

  2. vbox中安装mac系统

    参考: https://www.cnblogs.com/liming2017/p/7566953.html

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统权限及操作指引

    系列目录 1.权限包括菜单权限,按钮权限,数据权限 2.角色组和用户之间是多对多的关系,即多个用户可以拥有多个角色组,权限是拥有角色组的并集 1.菜单界面,菜单都是动态数据由模块管理进行设置 2.权限 ...

  4. 基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

    基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 目录 1. 开发环境2. 主要功能逻辑介绍3. 框架功能简介 4. 数据库的创建 5. 框架模块详细介绍6. Tes ...

  5. cocos2d JS touch屏幕点击事件监听 cc.EventListener.TOUCH

    var self = this; this.touchListener = cc.EventListener.create({ event: cc.EventListener.TOUCH_ONE_BY ...

  6. OEMCC 13.2 集群版本安装部署

    之前测试部署过OEMCC 13.2单机,具体可参考之前随笔: OEMCC 13.2 安装部署 当时环境:两台主机,系统RHEL 6.5,分别部署OMS和OMR: OMS,也就是OEMCC的服务端 IP ...

  7. c++基础:之封装

         原创: 零灵柒 C/C++的编程教室 2月4日 什么是类 C++是什么?C++设计之初就是class with c,所以简单点说,C++就是带类的C,那么什么是类? 类,简单点说就是类型,在 ...

  8. CSU 1849 Comparing answers(数学矩阵)

    Comparing answers 离散数学真的要好好学啊:一个邻接矩阵(这个矩阵一定是n×n的方阵,n是图的节点个数),表示的是从i到j有几条通路的时候,矩阵的1次方就代表从从i到j长度为1的路径通 ...

  9. jQuery-插入内容-新增内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. python基础之可变数据类型与不可变数据类型

    一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与 ...