apache反向代理http到https

在此之前,我一直认为apache以及nginx的反向代理,只能代理本地局域网,今天经过测试,还可以代理外网http以及https,真是活到老学到老。😁

apache反向代理http到本地局域网与http类似,以下以http到外网地址为例。apache的反向代理功能需要模块的支持:

mod_proxy.so
mod_proxy_connect.so
mod_proxy_http.so
mod_rewrite.so

apache安装编译时,带上参数--enable-proxy,若已安装apache,可以去源码的modules/proxy/编译,具体过程可以Google、百度之。若是yum安装的apache,可以直接yum install -y mod_proxy,安装apache模块。

如下为反向代理http到外网http链接的配置:

<VirtualHost *:80>
ServerName blog.wanxiaohong.cn
ProxyRequests Off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /xxx http://xxx.wanxiaohong.cn
ProxyPassReverse /xxx http://xxx.wanxiaohong.cn
</VirtualHost>

如下为反向代理http到外网https链接的配置:

<VirtualHost *:80>
ServerName blog.wanxiaohong.cn
ProxyRequests Off
SSLProxyEngine on
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /xxx https://xxx.wanxiaohong.cn
ProxyPassReverse /xxx https://xxx.wanxiaohong.cn
</VirtualHost>

有心的童鞋,肯定发现了,其实反向代理http到https仅仅一个配置之差:SSLProxyEngine on。这里又需要到一个模块mod_ssl,添加模块方法同上,yum install -y mod_ssl

评论

评论正在提交中...请稍后
评论提交成功...