美文网首页
Apache 反向代理配置

Apache 反向代理配置

作者: djyuning | 来源:发表于2018-07-08 18:46 被阅读105次

    一、概念

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

    正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内 容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。比如:我们访问不了 Google,但我们可以使用代理服务器访问 Google。

    反向代理 正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。

    二、开启代理模块

    首先确保 Apache 有以下模块,主要包含:

    mod_proxy.so
    mod_proxy_ajp.so
    mod_proxy_balancer.so
    mod_proxy_connect.so
    mod_proxy_http.so
    mod_proxy_ftp.so
    

    打开配置 conf/httpd.conf 文件,将以上模块的注释去除,如下所示:

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    

    注意: mod_proxy_balancer.so 是做负载均衡使用的模块,如果不懂怎么配置(像我现在这样),那就不要去掉前面的 # 号了,否则会出现 Apache 无法启动的问题。

    三、配置反向代理

    继续打开配置 conf/httpd.conf 文件,在文件末尾添加如下代码:

    # 监听 8888 端口的请求
    Listen 8888
    
    # 启用代理请求
    ProxyRequests Off
    ProxyPass / http://127.0.0.1:3000
    ProxyPassReverse / http://127.0.0.1:3000
    
    <proxy *:8888>
        AllowOverride All
        Order Deny,Allow
        Allow from all
    </proxy>
    

    配置完成,重启 Apache 服务器。

    四、测试

    按照上面的配置,我们就不能直接访问 http://127.0.0.1:3000 了,而是应该使用 http://127.0.0.1:8888 访问,因为,我们是使用 8888 端口代理的 3000 端口。

    首先,启动 3000 端口的 APP(我是使用 Koa 开发的一个初始页面),然后,在浏览器地址栏输入 http://127.0.0.1:8888 ,如果能正常看到页面说明配置完成。

    参考

    相关文章

      网友评论

          本文标题:Apache 反向代理配置

          本文链接:https://www.haomeiwen.com/subject/fzgouftx.html