一、摘要
利用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 条评论