如何使用CA证书保护Node Red

时间:2017-01-20 15:38:23

标签: node.js ssl node-red

我需要使用CA签名证书保护我的Node Red,而不是自签名证书。我在Amazon Linux上使用Amazon EC2。

2 个答案:

答案 0 :(得分:2)

我自己解决了这个问题。

为了让这个工作变得很有用 - 你需要一个域名为红色的域名。

我使用COMODO获取SSL

获取CERT

  1. ssh进入服务器并进入安装了节点红色的主目录,运行这些命令:
  2.   

    mkdir sslcerts

  3.   

    cd sslcerts

  4.   

    openssl genrsa -out ./private.key 2048

  5.   

    openssl req -new -sha256 -key ./private.key -out ./ {yourdomainname} .csr

  6. 您需要在COMODO SSL过程
  7. 期间获得上述创建的.csr文件的内容
  8. 遵循COMODO SSL请求程序
  9. 颁发证书后,您将获得Certificates.zip文件。将其解压缩到另一个目录
  10. 在解压缩目录中,使用文本编辑器或Linux命令行创建ca-bundle文件。
  11. 按此顺序合并文件(我在这里使用Linux命令'cat'):
      

    $ cat COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt   AddTrustExternalCARoot.crt> {yourdomainname} .CA束。您需要将两者刚刚创建的ca-bundle文件和{yourdomainname} .crt文件复制到服务器上的sslcerts

  12. 使红色节点可以使用证书

    1. cd到安装了节点red的主目录,然后cd进入(隐藏的).node-red目录
    2.   

      nano settings.js

    3. 在此文件的顶部,取消注释该行:var fs = require(“fs”);
    4. 查找并取消注释https:{key:...}
    5. 将内容更改为:
        

      https:{ca:fs.readFileSync('sslcerts / {yourdomainname} .ca-bundle'),key:fs.readFileSync('sslcerts / private.key'),cert:fs.readFileSync('sslcerts / { yourdomainname} .CRT')           }

    6. 保存此文件(CTRL-O),然后退出(CTRL-X)
    7. 重新启动节点红色并检查是否有任何启动错误。如果您收到错误,则很可能在“https:{...”
    8. 中拼写错误

答案 1 :(得分:0)

要将SSL证书添加到Node Red,请将 https 键添加到 settings.js

...
},
https: {
  key: fs.readFileSync('privkey.pem'),
  cert: fs.readFileSync('cert.pem')
},
...

如果您要询问如何获取CA签名证书,则可以使用许多路由。请查看Lets Encrypt以获取免费的自动解决方案。