最近在做一个需求,需要用到HTTPS才能访问,因为不是webpack起的项目,所以没办法直接用webpack-dev-server。
本来想用Nginx来做反向代理:通过openssl生成证书,配置到nginx,映射9000端口(跑在80端口需要sudo)到本地服务的8080端口。但是发现了一个更简单的方式:使用local-ssl-proxy
local-ssl-proxy是一个适用于本地开发的,使用自签名证书的简单 SSL HTTP 代理。
安装
npm install -g local-ssl-proxy
运行
本地服务运行在8080端口,可以映射到9000端口进行访问,如果映射到80端口则需要管理员权限来运行。
新打开一个命令行窗口,执行映射命令(不要关闭本地服务所在的命令行窗口):
local-ssl-proxy --source 9000 --target 8080
再配置一下host(推荐使用SwitchHosts!
客户端来管理host,新增和调整都更加方便)
127.0.0.1 local.ctrip.com
就可以通过https://local.ctrip.com:9000/xxxx
直接访问到跑在8080端口的服务了。
感谢阅读!欢迎关注微信公众号”混沌前端“,获取推送更新。
测试
可以使用http-server起一个本地静态服务进行调试:
1.在任意目录下执行 npx http-server
:
2.映射端口:local-ssl-proxy --source 9000 --target 8080
访问自定义host或https://127.0.0.1:9000/
https://localhost:9000
测试
因为使用自签名证书,所以会弹窗安全提示, 点击“高级》继续前往”: