2013年7月13日星期六

搭建 Spdy SSL Proxy (三)

搭建 Spdy SSL Proxy . 经过前面的准备, spdy proxy 服务器已经搞定,剩下的就是本地客户端的一些配置工作.  本地客户端毫无疑问的要使用 chrome 浏览器, 因为目前支持 https 代理的好像只有 chrome ( firefox 目前还没有来得及测试 ).
准备工作:
1. chrome stable 最新版.
2. proxy-switchysharp 插件.
3. proxy-switchysharp 配置的文件.

通过的 switchsharp 的设置页面, 点击 "improt/export"选项, 点击 "restore from file" 按钮, 导入 "准备工作3" 下载好的配置文件.导入成功后,会新出现一个 "GFWed" 的一个情景模式.

新建一个文本文件,在里面粘贴下面三行代码:

function FindProxyForURL(url, host) {
    return "HTTPS xxx.xxx.xxx.xxx:xxx";
}

在将文件保存为 spdy-proxy.pac (注意:将xxx 替换为你的 shrpx 服务的 ip 和端口号),然后打开 switchsharp 的配置页面的 GFWed 情景模式, 选择 "自动配置" , 并 "导入 PAC 文件", 导入刚才保存的 spdy-proxy.pac 文件, 然后保存. 

然后切换到 "切换规则" 选项, 这里可以看到已经有相应的设置, 选中 "启用切换规则", "在线规则列表" , "AutoProxy 兼容列表" .  因为 GFW 的干扰, 在线规则列表会经常同步失败, 可以稍作修改: 将 http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt 修改为 https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt  这样就可以同步成功了. 


目前到这里基本就设置完成了, 代理的逻辑是这样:
1.在 gfwlist 在线规则列表里的域名会走 GFWed 情景模式, 而且 GFWed 情景模式就是我们通过 pac 文件设置的, 走 spdy ssl proxy 代理.
2. 不再 gfwlist 清单的域名会直接连接. 

通过上面的设置后,基本上就可以实现自动切换翻墙了.但是还是有不方便的地方:
1. google.com  没有在 gfwlist 清单里面, 但是我这里打不开 google.com 怎么办
2. 我有时候想全走代理, 无论它是否被墙. 

针对上面的两个问题,的解决办法:
1. 我可以在 "切换规则" 里面新添加一个规则, 假如叫"google", 然后 URL 模式模式匹配为" 正则表达式", URL 的模式为 ".*google.com.*" 对应的情景模式为 "GFWed" . 这样一来所有 google.com 的网址都会走 GFWed 代理. 
 2. 在"通用设置" 选项, 选中"快速切换" 然后将下面的"GFWed". "直接连接", "自动切换" 这几种经济模式拖上来. 然后保存.这样,当你就可以通过点击浏览器上的 switchsharp 图表来实现自动的在三种模式间切换了. 

后续跟进:
1.测试将前端 shrpx 改为 nginx 或者 haproxy
 2. 测试将后端 squid3 改为 apache traffic server 
3. 测试 firefox 对 spdy ssl proxy 的支持情况. 

没有评论:

发表评论