背景
为了在服务器上搭建一个代理服务,通常你需要先安装一套代理服务,再按照配置客户端,非常的繁琐。但如果你已经有一个可以对外提供HTTPS博客的网站的话,在Apache服务器上,只需要增加几行配置代码即可完成一个代理服务器的搭建。
基本原理
从HTTP 1.1 开始,HTTP协议支持CONNECT请求,允许客户端通过该请求,与第三方服务器建立连接,WEB服务器仅作为数据中转站,负责转发数据。如果你访问的是一个HTTPS的网站,客户端与服务器直接握手交互,通过SSL协议传输数据,中转服务器无法解码数据包,数据传输也很安全。如果你的WEB服务器安装了SSL证书,可以对外提供HTTPS服务,则CONNECT请求也可以掩护在HTTPS的数据包中,非常安全。 服务器配置:
- 配置好一个对外提供HTTPS服务的网站(需要安装好SSL证书,详情见letsencrypt.org )
- 在HTTPS的vhost配置中添加如下配置
ProxyRequests On #开启正向代理,默认为Off <Proxy *> Order deny,allow Allow from all </Proxy>
然后就完成服务端的配置了,就这么简单。
- 客户端配置HTTPS代理,这里以chrome的插件SwichyOmega为例