jxnxsdengyu
作者jxnxsdengyu课题专家组·2020-04-09 15:16
系统工程师·江西农信

技术技巧---代理之Apache

字数 2203阅读 1066评论 0赞 1

一、摘要
利用RHEL自带apache web服务软件的[[正向代理与反向代理]](https://www.talkwithtrend.com/Article/248155 "[正向代理与反向代理]")功能实现HTTP/HTTPS请求转发,可以避免网络两端直接相通,提高网络安全。如果结合balancer模块即可实现[[负载均衡]](https://www.talkwithtrend.com/Article/248085 "[负载均衡]")。

二、应用场景
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 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广