背景
由于我们前端团队现在需要开始全面支持https,但是在调试时却总是需要部署到沙盒后才能看到迁移的效果,一来一回比较耗时。为此我开发了一个简单的https-proxy工具,可以在本地启动一个https服务器,这个服务器可以代理目前有的网址,也可以支持本地文件的静态服务器。
使用步骤
- 首先运行
npm install -g bd-https-proxy
,安装这个小工具 - 然后编辑
/etc/hosts
,添加一条:127.0.0.1 localtest.baidu.com
,这个是由于证书必须写好地址,又为了保证不产生跨域问题,所以需要写一个hosts - 在任意一个目录下,运行
bd-https-proxy --cert
,会在当前目录下生成一个证书文件,你需要安装这个证书并且信任它。这个证书是我自签名的一个证书,不必担心安全问题 - 然后就可以按照下面的说明使用这个工具了
- 工具开启后,打开https://localtest.baidu.com/,即可访问本地测试服务器(仅本机)
工具使用说明
目前这个https-proxy工具有2种用法,一种是代理模式,一种是本地模式。
代理模式
# 参数为你的本地server地址,不加后面的斜杠 sudo bd-https-proxy http://localhost:7001
本地模式
# 参数为你的本地目录,相对路径 sudo bd-https-proxy --local .
调整端口
使用--port 调整http服务器端口,使用--https-port设置https服务器端口,例如:
# 参数为你的本地目录,相对路径 sudo bd-https-proxy --local . --port 80 --https-port 443# 或者用缩写 sudo bd-https-proxy -l . -p 80 -s 443# 如果不使用1024前的端口,可以不加sudo bd-https-proxy -l . -p 8080 -s 4430