-
Notifications
You must be signed in to change notification settings - Fork 1.2k
HTTPS相关教程
Otto Mao edited this page Mar 30, 2015
·
24 revisions
AnyProxy解析HTTPS的原理是自制根证书(rootCA),待终端信任这份证书之后,再用它签发各个域名的二级证书,此时二级证书可以重新对各个页面进行解析。这种方案和HTTPS的“中间人攻击”(MITM)是一致的。
这份中文文档简略概述了用AnyProxy做HTTPS处理的相关流程。更完整的内容可以读这里的英文文档:https://github.com/alibaba/anyproxy/wiki/How-to-config-https-proxy
- OSX系统自带了openSSL,可以略过这步
- Windows用户可以参考openSSL的安装教程:http://wiki.openssl.org/index.php/Compilation_and_Installation ,或者直接使用二进制版本:https://www.openssl.org/related/binaries.html
- 安装完成后可以通过
openssl version -a
看到安装情况。
- 生成RootCA
- 命令行执行
sudo anyproxy --root
- 命令行执行
- 信任RootCA
- 方法一: 执行完成之后,会打开证书的安装路径,打开并信任 rootCA.crt 文件
- 方法二: 启动anyproxy,浏览器打开 http://localhost:8002/fetchCrtFile ,也能获取rootCA.crt文件
- 方法三:启动anyproxy,http://localhost:8002/qr_root 可以获取证书路径的二维码,移动端安装时会比较便捷
- 其他
- 如果在访问时出现UNAUTHORIZED_CERTIFICATE一类的安全警告,请重新检查证书的安装情况
- 证书只需生成一次,使用前每个终端都需要信任它
- 需要解析HTTPS时,用intercept参数来启动anyproxy
anyproxy --intercept
- 为终端设置代理,在UI界面就能看到明文的HTTPS请求数据了,带把小锁的就是HTTPS请求
-
anyproxy --clear
可以清除所有已生成的证书。清除后,各终端需要重新安装证书。