在前端开发中,我们经常需要使用各种 npm 包来为我们的项目提供便捷与高效的开发体验。其中一个非常实用的 npm 包就是 node-red-contrib-securedhttp。作为一个网络安全性较高的协议,https的引入已经成为了现代 web 开发必不可少的一部分。在使用该 npm 包之前,我们需要先了解一下 https 协议的基本知识。
什么是https?
HTTPS(Hyper Text Transfer Protocol Secure)是 HTTP 的安全版,在 HTTP 下加入 SSL(Secure Sockets Layer)层,从而加强数据传输的安全性,防止数据被窃听、篡改或者伪造。
为什么需要使用node-red-contrib-securedhttp?
在开发 web 应用时,https 非常重要,因为它有助于保护用户的隐私和敏感信息。而对于 node-red 这样一个流程编排工具来说,如果我们需要保证它在生产环境下的安全性,那么我们就需要使用一个安全性较高的协议。
通过使用 node-red-contrib-securedhttp,我们可以非常方便地把 node-red 编辑器暴露在 https 的协议下,同时还能够为该协议添加 TLS 和 SSL 的加密功能,从而保障 node-red 的安全性。
如何使用node-red-contrib-securedhttp?
首先,我们需要在 node-red 中安装(install)node-red-contrib-securedhttp。
npm install node-red-contrib-securedhttp
安装完成后,我们需要通过 node-red 的 settings.js 文件来配置该 npm 包。修改如下配置项:
-- -------------------- ---- ------- ---------- - ----- -------------- ------ -- --------- -------- --------- --------------------------------------------------------------- ------------ --- -- -- ------------- - ------- ---- -------- --------------------- -- ---------- - -------- ----- ----- ------ -- ------- ---- ------ -- ------ --- - ------ -- ------ ------ -- ----- -- ------- ----------------------------- -
其中,我们需要特别注意的是:
adminAuth
是一个用户验证项,确保只有管理员可以访问。httpNodeCors
用于跨域请求的配置。httpsNode
用于 https 连接的配置,包括证书、密钥、以及加密方式。
在配置项修改完成后,我们需要启动 node-red 编辑器:
node-red -u ~/.node-red -s ~/.node-red/settings.js
这时,我们通过浏览器访问 https://localhost:1880
,就可以看到一个已经安装了证书及密钥的 https 网站了。
示例代码
最后,我们简单展示一下如何在node-red中使用node-red-contrib-securedhttp。
-- -------------------- ---- ------- - - ----- ----------------- ------- ----- ---- ------- --- ------ ---------- --------- ------ ------------- --- ------------------ ----- ---------------------- ----- -------------------- ----- ----------------- ------ ---------- --- -------------- -------------- ---------- ------- ------- ---------- --------- ----------- ------------- --- --------------- ------- ------------------- --- ------------------ --- ---------- ------ ------- -- -- - ----- ------------------ ------- ----- ---------- ------- --- ------------- --- ---------- --- --------------- ------- ------------------- --- ------------------ -- - -
该示例中,我们使用了两个节点,http in
与 http response
,分别用于建立一个 https 的 api 路由,并返回一个 payload。
通过以上示例代码,我们可以看到,使用 node-red-contrib-securedhttp 构建安全性较高的 node-red 编辑器以及其他 web 应用非常方便。同时,我们也可以更好地理解 https 协议在 web 开发中的重要性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65529