反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

通俗的说,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,当代理服务器接收到web请求之后,就可以分配给处理指定任务的服务器,或者处于闲置的服务器处理,这样让服务端处理的速度得到提升,当然代理服务器的用处还有更多,例如ajax跨域,服务器安全等需要读者自己去了解。

下图所示,反向代理:

如果要说配置反向代理的服务器,我相信很多人会首选nginx (网上帖子很多),那么我们今天就来讲讲用XAMPP搭建的本地测试环境中的apache 配置。

为了本次的配置演示,我们需要配置几台虚拟的服务器(虚拟主机):
abc.com
lby.com
web.com
配置完最终效果:

我们可以直接使用 127.0.0.1(localhost)地址来访问该域名代理下的三个域名的内容。

例如:现在我们需要访问 lby.com , 我们可以用 127.0.0.1/lby 来访问

本次配置总共分成两大部分:
一 、配置本地hosts 域名解析。
因为是自己设置的虚拟主机域名,所以dns域名解析不了,本地访问的话,我们可以先配置一个本地的解析,用于方便访问,距离配置如下:

在系统c盘目录下找到:C:\Windows\System32\drivers\etc\hosts 文件

打开文件后,在最后面追加以下配置:

127.0.0.1 lby.com
127.0.0.1 abc.com
127.0.0.1 web.com

注意:有些时候是保存不了的,因为c盘的文件默认是只读,不可以更改保存,所以需要设置权限允许修改。

二、配置apache 中的虚拟主机和代理。
上面已经域名配置好了,接下来就开始搭建上面的3台虚拟主机吧:
1.在xampp文件夹中打开htdocs(次文件夹默认是xampp服务器的网站根目录):
为了方便,在该文件夹下新建以下3个文件夹用于作为虚拟主机的目录:

第一个:lby

第二个:abc

第三个:web

提醒:可以在这三个目录中,都设置一个index.html页面,分别设置不同的内容,为了方便识别使用。

2.开始配置虚拟主机:
在xampp 文件夹下找到 httpd-vhosts.conf(虚拟主机配置文件):

I:\xampp\apache\conf\extra\httpd-vhosts.conf
打开后添加以下配置(添加到文档的最后面即可):

先配置第一台虚拟主机:(lby.com)

<VirtualHost *:80>
  ServerAdmin admin@lby.com
  DocumentRoot "/xampp/htdocs/lby"
  ServerName lby.com
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
配置第二台虚拟主机:(abc.com)

<VirtualHost *:80>
  ServerAdmin admin@abc.com
  DocumentRoot "/xampp/htdocs/abc"
  ServerName abc.com
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
配置第三台虚拟主机:(web.com)

<VirtualHost *:80>
  ServerAdmin admin@web.com
  DocumentRoot "/xampp/htdocs/web"
  ServerName web.com
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
配置到此,可以开启apache服务器,测试三个域名访问,如果没有其他问题应该可以正常访问!
3.开始配置反向代理:
a.找到 I:\xampp\apache\conf\httpd.conf

设置httpd.conf,开启代理:

该配置文件中的"#" 代表注释,所以只需要将以下几行内容的注释去掉即可:

第139行:     LoadModule proxy_module modules/mod_proxy.so
第142行:     LoadModule proxy_connect_modulemodules/mod_proxy_connect.so
第145行:     LoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so
第147行:     LoadModule proxy_http_modulemodules/mod_proxy_http.so
b.配置代理:

其实配置虚拟主机那个文件(I:\xampp\apache\conf\extra\httpd-vhosts.conf)中,有一个默认的主机就是 localhost, 我们来看下它的默认配置:

<VirtualHost *:80>
  ServerAdmin admin@lby.com
  DocumentRoot "/xampp/htdocs/"
  ServerName localhost
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
上面的这个就是默认的127.0.0.1 主机的配置了,所以我们要在这个主机上配置去代理请求我们设置好的虚拟主机,需要在上面添加以下配置:
<VirtualHost *:80>
  ServerAdmin admin@lby.com
  DocumentRoot "/xampp/htdocs/"
  ServerName localhost
#配置代理清单,注意 /的路径问题
  ProxyPass /web http://web.com/
  ProxyPass /lby http://lby.com/  
  ProxyPass /abc http://abc.com/
   
  ErrorLog "logs/dummy-host2.example.com-error.log"
  CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

至此,配置完之后保存,重启apache服务
我们就可以使用 127.0.0.1/lby 来访问到原虚拟主机 lby.com的内容了。

使用XAMPP配置Apache服务器反向代理的更多相关文章

  1. 通过Apache配置web服务器反向代理

    - 第一步: 到安装好的apache文件目录conf文件下,找到httpd.conf文件 找到如下配置,去掉#可以启动HTTP反向代理功能 : LoadModule proxy_module modu ...

  2. 搭建gerrit服务器(apache&nginx反向代理方式)

    这段时间,想搭建一个gerrit,用于代码托管,gerrit的搭建,网上有很多种教程,但是自己按照别人的教程逐步操作,一直出现诸多问题.最头痛的就是:Configuration Error Check ...

  3. apache做反向代理

    实验目的 通过apache实现反向代理的功能,类似nginx反向代理和haproxy反向代理 环境准备 逻辑架构如下 前端是apche服务器,监听80端口,后端有两台web服务器,分别是node1和n ...

  4. Apache 如何反向代理tomcat并且实现Session保持

    简介 LAMT=Linux+Apache+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下 ...

  5. apache httpd反向代理配置

    apache httpd 2.4.6反向代理的配置,用户访问A server的8080端口,后台会自动请求Bserver的一个端口. 例如,用户访问ip-172-31-28-175的8080端口,后台 ...

  6. APACHE 与IIS同时存在的情况下,给APACHE添加反向代理 共用80端口

    一.首先打开IIS,将IIS的端口改成81,不要让IIS占用了80端口 二.打开APACHE的httpd.conf配置文件,将里面的端口配置成80 三.打开APACHE的虚拟目录配置文件,如:http ...

  7. zend studio 配置 apache服务器事宜

    安装好 zend studio后,配置 apache服务器时,设置 configuration directory时,需选中 xampp\apache里面的 conf 文件夹,即完整的路径为: *\x ...

  8. docker配置nginx做反向代理管理tomcat应用

    由于业务开始复杂,单一tomcat已经不足以满足业务需求,多tomcat部署起来不方便而且面临域名解析问题,因此开始增加反向代理,由于docker的易用性,便使用docker管理各个应用. docke ...

  9. 使用Nginx实现服务器反向代理和负载均衡

    前言 同事总问我Nginx做反向代理负载均衡的问题,因此特意留下一篇扫盲贴! 直接部署服务器的风险 假设,我开发了一个网站,然后买了一台Web服务器和一台数据库服务器,直接部署到公共网络上.如下图,网 ...

随机推荐

  1. 2019牛客暑期多校训练营(第二场) - J - Go on Strike! - 前缀和预处理

    题目链接:https://ac.nowcoder.com/acm/contest/882/C 来自:山东大学FST_stay_night的的题解,加入一些注释帮助理解神仙代码. 好像题解被套了一次又一 ...

  2. cogs2223. [SDOI2016 Round1] 生成魔咒(后缀数组 hash 二分 set

    题意:对一个空串每次在后面加一个字符,问每加完一次得到的字符串有几个不同的子串. 思路:每个子串都是某个后缀的前缀,对于每个后缀求出他能贡献出之前没有出现过的前缀的个数,答案累加就行. 要求每个后缀的 ...

  3. LeetCode939 最小面积矩形

    LeetCode939最小面积矩形 给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. Input [[1,1],[ ...

  4. 模板汇总——ST(暂)

    int Log[N]; struct ST { ], a[N]; void init(int n) { ]=-); i < N; i++) Log[i] = Log[i - ] + ((i &a ...

  5. C++ lambda的演化

    翻译自https://www.bfilipek.com/2019/02/lambdas-story-part1.html与https://www.bfilipek.com/2019/02/lambda ...

  6. springboot---redis缓存的使用

    1.下载redis安装包,解压到电脑 2.启动redis 3.springboot  application.properties中配置redis缓存 spring.redis.host=127.0. ...

  7. ubuntu16.4 环境移植ubuntu到zynqMp_zcu102

    安装petalinux 下载petalinux https://www.xilinx.com/support/download 下载 zcu102 ZCU102 BSP 安装petaLinux 把sh ...

  8. maven的settings.xml详解

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  9. spring中集成shiro进行安全管理

    shiro是一款轻量级的安全框架,提供认证.授权.加密和会话管理四个基础功能,除此之外也提供了很好的系统集成方案. 下面将它集成到之前的demo中,在之前spring中使用aop配置事务这篇所附代码的 ...

  10. [Pandas] 01 - A guy based on NumPy

    主要搞明白NumPy“为什么快”. 学习资源 Panda 中文 易百教程 远程登录Jupyter笔记本 效率进化 四步效率优化 NumPy 底层进行了不错的优化. %timeit 对于任意语句,它会自 ...