首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有RedBird.js和Node.js的SSL证书,在一台服务器上具有两个域

具有RedBird.js和Node.js的SSL证书,在一台服务器上具有两个域
EN

Stack Overflow用户
提问于 2020-06-11 18:06:48
回答 1查看 680关注 0票数 1

坏(?)新闻"SSL For Free“将加入ZeroSSL。因为他们的消息,我更新了我的证书和TLS停止工作。以前工作得很好。

我相信免费证书现在是从一个叫做AutoSSL的东西。但愿能去。

对于新的证书,我得到了来自https://www.sslshopper.com/ssl-checker.html的错误“您可能需要安装中介/链证书来将其链接到受信任的根证书”,而来自https://www.digicert.com/help的错误"TLS证书是不可信的“。

浏览器足够聪明来掩盖这个问题,但是我的Android应用程序使用了一个API,并且它停止了工作。

自从被牵涉进来后,还有人遇到的TLS问题吗?

我在nodejs上使用redbirdjs,这非常棒,因为它非常简单(两个域,同一个服务器),但是Zero没有为我的安装提供安装说明。(我的域名流量很小,所以使用最快的isn服务器等不是问题)。

零删除了一个cert选项中的两个域(谢谢),所以我更新的脚本如下所示:

代码语言:javascript
复制
const { constants } = require('crypto');

var redbird = new require('redbird')({ port: 8080, ssl: { port: 443 }});

redbird.register('domain1.com', 'http://127.0.0.1:9443', {
    ssl: {
        key: 'ssl/domain1/private.key',
        cert: 'ssl/domain1/certificate.crt',
        ca: 'ssl/domain1/ca_bundle.crt',
        secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1,
    }
});

redbird.register('domain2.com', 'http://127.0.0.1:3003', {
    ssl: {
        key: 'ssl/domain2/private.key',
        cert: 'ssl/domain2/certificate.crt',
        ca: 'ssl/domain2/ca_bundle.crt',
        secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1,
    }
});

除了分离域SSLForFree之外,它与用于SSLForFree的配置是相同的。

我在某个地方读到,“免费”SSL CA不一定提供“完整链”。

有人知道如何让TLS在redbirdjs和nodejs上与ZeroSSL一起工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-12 02:49:55

我让它起作用了。我使用了https://whatsmychaincert.com,我认为它实际上将几个文件连接在一起。无论哪种方式,红鸟迷(像我一样),这里是脚本为多个域在同一服务器上。

代码语言:javascript
复制
// https://github.com/OptimalBits/redbird
// https://whatsmychaincert.com/
// 9443 is where domain1 server runs locally
// 3003 is where domain2 server runs locally

const { constants } = require('crypto');

var redbird = new require('redbird')({ port: 8080, ssl: { port: 443 }});

redbird.register('domain1.com', 'http://127.0.0.1:9443', {
    ssl: {
        port: 9443,
        key: 'ssl/domain1/private.key',
        cert: 'ssl/domain1/domain1.chained.crt',  // used whatsmychaincert.com to generate ('enter hostname', no need to include root)
        secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1,
    }
});

redbird.register('domain2.net', 'http://127.0.0.1:3003', {
    ssl: {
        port: 3003,
        key: 'ssl/domain2/private.key',
        cert: 'ssl/domain2/domain2.chained.crt',
        secureOptions: constants.SSL_OP_NO_TLSv1 | constants.SSL_OP_NO_TLSv1_1,
    }
});

在从ZeroSSL下载的3个文件中,whatsmychaincert.com将certificate.crt和ca_bundle.crt (按顺序排列)放入一个名为domain.chained.crt的文件中(如上面的脚本所示)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62330747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档