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链接的配置:
ServerName blog.wanxiaohong.cn
ProxyRequests Off
Order allow,deny
Allow from all
ProxyPass /xxx http://xxx.wanxiaohong.cn
ProxyPassReverse /xxx http://xxx.wanxiaohong.cn
如下为反向代理http到外网https链接的配置:
ServerName blog.wanxiaohong.cn
ProxyRequests Off
SSLProxyEngine on
Order allow,deny
Allow from all
ProxyPass /xxx https://xxx.wanxiaohong.cn
ProxyPassReverse /xxx https://xxx.wanxiaohong.cn
有心的童鞋,肯定发现了,其实反向代理http到https仅仅一个配置之差: SSLProxyEngine on。这里又需要到一个模块mod_ssl,添加模块方法同上, yum install -y mod_ssl。