邓毓
作者邓毓2020-04-09 15:16
系统工程师, 江西农信

技术技巧---代理之Apache

字数 2036阅读 458评论 0赞 1

一、摘要

利用RHEL自带apache web服务软件的[正向代理与反向代理]功能实现HTTP/HTTPS请求转发,可以避免网络两端直接相通,提高网络安全。如果结合balancer模块即可实现[负载均衡]

二、应用场景

1)反向代理

1、场景一

客户端请求为http,后端为http服务,apache将http请求转发至后端,只需安装

yum install httpd

2、场景二

客户端请求为http,后端为https服务,apache将http请求转发至后端,需安装

yum install httpd mod_ssl

3、场景三

客户端请求为https,后端为https服务,apache将https请求转发至后端,需安装

yum install httpd mod_ssl

该场景客户端接收到的站点证书为本地apache服务器的证书,默认未经有效根证书认证,客户端可能会出现安全性提示。

2)正向代理

客户端包含代理模块,设置代理服务器配置后,主动通过代理服务器访问目标服务器。如果访问服务端时需要验证客户端证书,必须使用正向代理。

三、实施步骤

1、基础环境搭建

(1)、环境搭建和检查

系统: RHEL6.6

软件:httpd-2.2.15(apache为rhel默认http服务软件)

防火墙:确保防火墙关闭或打开对应端口,selinux 关闭

service iptables stop
getenforce  //确认输出为“Disabled"

(2)、确认apache加载模块

[root@localhost ~]# grep mod_proxy.so /etc/httpd/conf/httpd.conf 
LoadModule proxy_module modules/mod_proxy.so

2、反向代理配置

(1)场景一

修改/etc/httpd/conf/httpd.conf 文件

 Listen 10002   //可配置多个端口,每个一行
 Listen 10003
      //用户访问端口,在文件末尾加入本行及以下配置
        ServerName 10.X.X.213    //用户访问地址,可以不设置
        ErrorLog logs/X.213-10002-error_log   //错误日志
        CustomLog logs/X.213-10002-access_log common   //访问日志
        ProxyPass / http://172.X.X.13:10002/   //重定向到后端172.X.X.13的10002端口
        ProxyPassReverse / http://172.X.X.13:10002/  //返回日志头改回客户端访问地址

(2)场景二

修改/etc/httpd/conf/httpd.conf 文件

 Listen 80

        SSLProxyEngine On
        ProxyPass "/" "https://www.baidu.com/"
        ProxyPassReverse "/" "https://www.baidu.com/"

(3)场景三

修改/etc/httpd/conf.d/ssl.conf 文件

    SSLProxyEngine On
    SSLProxyVerify require
    SSLProxyCheckPeerCN on
    SSLProxyCheckPeerName on
    SSLProxyVerifyDepth 3   
    SSLProxyCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
    SSLProxyCheckPeerExpire on
    SSLProxyCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+SSLv2:+EXP
        ProxyPass "/" "https://www.baidu.com/"
        ProxyPassReverse "/" "https://www.baidu.com/"   

3、正向代理配置

修改/etc/httpd/conf/httpd.conf 文件

 ProxyRequests On
 ProxyVia On
 AllowCONNECT 443 7001       #用于SSL代理,指定后端服务端口

     Order deny,allow
     Allow from all

4、确认配置正确并重启httpd服务

httpd -t   //返回”Syntax OK”为正确
service httpd restart

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表