反向代理(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. Mac下搭建go和beego开发环境

     go安装 首先到golang的官网下载 直接双击安装包,安装 ,下一步,下一步....完成既可 验证安装是否成功 打开终端执行 输出 go version go1.11.5 darwin/amd64 ...

  2. [翻译] C# 8.0 接口默认实现

    原文: Default implementations in interfaces 随着上周的 .NET Core 3.0 Prview 5 和 Visual Studio 2019 version ...

  3. CodeForces 669 E Little Artem and Time Machine CDQ分治

    题目传送门 题意:现在有3种操作, 1 t x 在t秒往multiset里面插入一个x 2 t x 在t秒从multiset里面删除一个x 3 t x 在t秒查询multiset里面有多少x 事情是按 ...

  4. codeforces 766 D. Mahmoud and a Dictionary(种类并查集+stl)

    题目链接:http://codeforces.com/contest/766/problem/D 题意:给你n个单词,m个关系(两个单词是反义词还是同义词),然后问你所给的关系里面有没有错的,最后再给 ...

  5. 入门MySQL——备份与恢复

    前言:  前面几篇文章为大家介绍了 MySQL 各种语句语法的用法及用户权限相关知识.本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用 ...

  6. Python基础:Python运行的两种基本方式

    完成Python的安装之后,我们可以开始编写Python代码以及运行Python程序了.我们来看一下运行Python具体有哪几种方式 1.REPL 所谓REPL即read.eva.print.loop ...

  7. Storm 系列(四)—— Storm 集群环境搭建

    一.集群规划 这里搭建一个 3 节点的 Storm 集群:三台主机上均部署 Supervisor 和 LogViewer 服务.同时为了保证高可用,除了在 hadoop001 上部署主 Nimbus ...

  8. jquery插件之poshytip

    Poshy Tip 是一个强大的jQuery 工具提示插件,拥有不同的外观.作为 Form Tooltips使用时,可以自定义气泡出现的位置. 导入插件: <script type=" ...

  9. WTM送书活动:向更遥远的星辰大海起航~

    是的,没错~ 这一篇不是大老刘写的.哈哈~ 啥?  你想知道为啥? 大老刘为了你们不加班,熬夜改BUG,姑娘不乐意了... 然后... 后面请自行脑补~ 哎~生活还要继续鸭.... 那么,接下来由我陪 ...

  10. 3.1、双向循环链表(java实现)

    1.创建节点类 public class CNode<T> { public CNode prev; public CNode next; public T data; public CN ...