• 使用XAMPP配置Apache服务器反向代理


    反向代理(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:WindowsSystem32driversetchosts 文件

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

    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:xamppapacheconfextrahttpd-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:xamppapacheconfhttpd.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:xamppapacheconfextrahttpd-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的内容了。

  • 相关阅读:
    django LDAP
    Python egg
    皮皮书屋
    Linux运维
    bash shell 快捷键汇总
    linux ldconfig
    Linux set env export declare unset
    OpenStack
    【LeetCode】258. Add Digits
    一个"Median Maintenance"问题
  • 原文地址:https://www.cnblogs.com/whowhere/p/10173367.html
Copyright © 2020-2023  润新知