在此之前,我一直认为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
。
您可以选择一种方式赞助本站
支付宝扫一扫
微信扫一扫