我有一个SSL的Apache配置,如下所示:

SSLCertificateFile ~/certs/server.crt
SSLCertificateKeyFile ~/certs/server.key
SSLCertificateChainFile ~/certs/bundle.crt


现在在我的NodeJs服务器中,我正在将grunt与grunt-connect用作服务器。

grunt-connect的文档说,可以使用以下语法对其进行配置。

grunt.initConfig({
  connect: {
    server: {
      options: {
        protocol: 'https',
        port: 8443,
        key: grunt.file.read('server.key').toString(),
        cert: grunt.file.read('server.crt').toString(),
        ca: grunt.file.read('ca.crt').toString()
      },
    },
  },
});


我需要此配置来匹配我的Apache配置。它具有一个证书文件,一个密钥文件以及一个捆绑文件。

查看NodeJ中tls.createServer的文档,
我没有看到一个看起来像它等同于SSLCertificateChainFile的选项。

如何使我的NodeJ连接服务器镜像与我的Apache服务器相同的SSL配置?



编辑

我还将把赏金授予能够做到这一点的人:

创建一个SSCCE Gruntfile来演示如何配置connect以接受服务器证书和捆绑包证书。

最佳答案

您可以尝试将server.crt和ca.crt文件合并为一个文件,并在cert选项中使用result。不要使用ca选项,因为根据docs,仅在“如果客户端使用自签名证书”时才需要。

09-09 23:33
查看更多