在前端开发中,有时候我们需要使用 HTTPS 协议,但是在开发阶段很难申请到一个正式的 SSL 证书。这时候,我们可以使用自签名的 SSL 证书来进行本地开发调试。
在这篇文章中,我们将介绍如何使用 npm 包 ember-cli-selfsigned
生成自签名的 SSL 证书,并用它来搭建本地 HTTPS 开发环境。
安装 ember-cli-selfsigned
可以使用 npm
来安装 ember-cli-selfsigned
包,命令如下:
--- ------- -------------------- ----------
生成自签名证书
在安装好 ember-cli-selfsigned
后,我们可以使用以下命令来生成自签名证书:
--- --------------------
执行完这个命令,会在当前命令行目录生成两个文件:server.crt
和 server.key
,这就是我们需要的自签名证书。如果你想指定证书的生成目录,可以加入 -d
参数:
--- -------------------- -- --------
在 Node.js 中使用自签名证书
现在我们已经生成了自签名证书,可以用它来搭建 Node.js 服务器。以下是一个基本的示例:
----- ----- - ----------------- ----- -- - -------------- ----- ------- - - ---- -------------------------------- ----- -------------------------------- -- --------------------------- ----- ---- -- - ------------------- -------------- ---------- ----------------
在这个示例中,我们读取了生成的自签名证书文件 server.key
和 server.crt
,并把它们作为 HTTPS 服务器的参数。然后我们创建了一个简单的响应输出。
让 Chrome 认证自签名证书
如果你在 Chrome 中直接打开使用自签名证书的网站,你可能会得到一个警告:
这是因为自签名证书未被受信任的 CA 机构签发,但是在开发阶段我们没必要购买正式的 SSL 证书。
为了让 Chrome 认证自签名证书,我们需要把证书文件导入到 Chrome 中。以下是具体的操作步骤:
- 打开 Chrome,进入设置页面
- 在「隐私和安全」下找到「安全」选项卡
- 点击「管理证书」按钮
- 在弹出的「证书管理」窗口中,选择「导入」选项
- 将生成的
server.crt
证书文件导入
使用 ember-cli-selfsigned
集成到 Ember.js 应用中
如果你在一个 Ember.js 应用中工作,那么你可以使用 emberr-cli-selfsigned
配合 ember-cli-content-security-policy
插件来集成 HTTPS 协议。
首先,按照前面章节中的方法生成证书。然后在 config/environment.js
文件中添加以下配置,来开启 HTTPS:
-- ------------ --- -------------- - ------------------------- - - -------------- --------- ------------ --------- ---------- --------- ------------- --------- ------------ --------- ----------- --------- ------------ --------- -------------- --------- --------------- --------- ------------- ----------------------------------------- ------------------ --------- ----------- --------- ---------- ------------ ------------ ------------- ----------------- ------------ -------------------------------- -- --------------------------- - - -------- ----- ----- ----- -------- --------------- --------- --------------- -- -
ember-cli-content-security-policy
插件会阻止所有不安全的行为,如果你不把 server.crt
证书文件导入到 Chrome,它会报错。当你开发一个多人协作场景的应用时,可以通过把证书和 ember-cli-selfsigned
配置加入到代码库中,以方便其他开发者进行本地开发测试。
如果你想使用不同的端口,可以修改 config/environment.js
文件中的 port
参数。如果你想使用已经存在的自签名证书,可以修改 config/environment.js
文件中的 keyPath
和 certPath
参数。
总结
在本文中,我们介绍了如何使用 ember-cli-selfsigned
包生成自签名证书并用它来搭建本地 HTTPS 开发环境。此外,我们还介绍了如何让 Chrome 认证自签名证书,并使用 ember-cli-selfsigned
配置集成到 Ember.js 应用中。在开发过程中,我们可以使用这些方法来保证前端开发的安全性与效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055b7a81e8991b448d8fe2