前言
在 Web 开发中,保证网站安全是非常重要的问题,其中 HTTPS 协议就是一种保证数据安全的方案。通过 HTTPS 协议,可以保证数据传输的机密性、完整性和身份认证等,使得网站更加可信。本文将介绍如何使用 npm 包 node-red-contrib-https-server
来为 Node-RED 网站启用 HTTPS 服务。
什么是 node-red-contrib-https-server
node-red-contrib-https-server
是 Node-RED 的一个自定义节点,用于启用 HTTPS 服务。通过此节点,可以为 Node-RED 网站安全地提供 HTTPS 服务,保证网站数据安全。
安装
在安装 node-red-contrib-https-server
之前,需要先确保已安装 Node.js 和 Node-RED。
# 使用 npm 全局安装 node-red-contrib-https-server npm install -g node-red-contrib-https-server
安装完成后,需要重启 Node-RED,以便节点能够被成功加载。
使用教程
生成 HTTPS 证书
在启用 HTTPS 服务之前,需要生成 HTTPS 证书。可以通过 OpenSSL 工具来生成。以下是生成证书的命令:
# 生成私钥 openssl genrsa -out server.key 2048 # 生成证书请求 openssl req -new -key server.key -out server.csr # 通过证书请求和私钥生成证书 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
执行完以上命令后,将生成 server.key
、server.csr
、server.crt
三个证书文件,需要将 server.key
和 server.crt
文件放到 Node-RED 安装目录下。
配置 HTTPS 服务
启用 HTTPS 服务需要在 Node-RED 的 settings.js
中进行配置,具体步骤如下:
打开 Node-RED 安装目录下的
settings.js
文件,找到以下代码块:// httpStatic: '/absolute/path/to/static/contents/', // // The following property can be used in place of 'httpAdminRoot' and // 'httpNodeRoot', to apply the same root to both parts. // // httpRoot: '/red',
把
httpRoot
属性改成httpsRoot
;// httpStatic: '/absolute/path/to/static/contents/', // // The following property can be used in place of 'httpAdminRoot' and // 'httpNodeRoot', to apply the same root to both parts. // // httpRoot: '/red', httpsRoot: '/red',
在
settings.js
文件末尾添加以下配置:-- -------------------- ---- ------- -- ----- ------ ------ ----- -- - -------------- ----- ---------- - --------------------------------------- ----- ----------- - --------------------------------------- ----- ----------- - - ---- ----------- ----- ------------ -- -- --- --- ----- ------ -------------- - - -- ----- ------ ------ ------ ------------ -- --------- --
展开代码根据实际情况,修改上述代码中的证书路径。
启用 HTTPS 服务
在配置完成之后,只需使用 node-red-contrib-https-server
节点来启用 HTTPS 服务即可。具体步骤如下:
打开 Node-RED 网站,新建一个 HTTPS Server 节点。
在节点配置面板中,填写以下信息:
- Name: 自定义名称。
- Port: HTTPS 端口号。
- Key Filename: 私钥文件路径,即
server.key
的路径。 - Certificate Filename: 证书文件路径,即
server.crt
的路径。 - HTTPS Admin Root: HTTPS 根路径,与之前在配置
settings.js
文件中设置的httpsRoot
相同。
配置面板如下图所示:
点击 Deploy 按钮,完成 HTTPS 服务的启用。
示例代码
最后,附上 Node-RED 加载自定义节点 node-red-contrib-https-server
后使用的代码示例:
-- -------------------- ---- ------- - - ----- ------------------ ------- --------------- ---- ----------------- ------- ------ -------- ------- ------- ------ ---------------------- ------- ---------------------- ------------ ----------------------------- ---- ---- ---- ---- -------- -- - -展开代码
总结
通过本文的介绍,您已经了解了如何使用 node-red-contrib-https-server
包为您的 Node-RED 网站启用 HTTPS 服务。启用 HTTPS 服务是保障网站数据安全的重要措施,也是提高网站可信度的必要步骤。希望本文对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/101671