在本地环境为前端项目配置 https
前端在使用某些 html5 API 时,https 是前置必须项,某些 API 只能在 https 保障安全的情况下才能开启,比如录音功能的 AudioContext API。
这要求我们在本地开发环境也能够配置 https,否则你需要每次部署到配有 https 的测试环境中才能预览效果,这对开发的敏捷度造成了极大的干扰。
如果能够在本地环境(localhost)生成证书,这将为开发体验提供极大的便利及舒适度,而这也是十分必要的。
关于证书
关于 https 的介绍与原理,有很多篇文章对此有极其详尽的介绍,然而在实践过程中最后都要落地为以下两个文件
cert-file key-file 以及 CA,给证书提供安全性保障的机构,当然也可自制。
对于个人及小微企业的证书,使用 Let's Encrypt 制作,只需一个 ACME 简单配置即可搞定。
但对于本地环境下的 https 如此操作就显得大费周章、无必要且无可能: 你不可能给 localhost 配置 https 证书。
另外一种方式是使用 openssl 自签名证书,自建 Root CA。不过这对于不熟悉 https 及一些命令行的人而言,openssl 那晦涩难懂的命令行简直是无字天书级别的操作。
凡是复杂且常见的需求,必有人开发出更简单的工具解放生产力,也必有成熟的解决方案占领市场。
而用以简化本地证书制作的工具就是 mkcert (opens new window),一个使用 Go 语言编写,在 Github 上有 32K Star 的项目。