错误(?)新闻“ 免费SSL 加入 ZeroSSL ”。从他们的消息开始,我更新了证书,并且TLS停止工作。过去工作正常。
使用新证书,我收到来自https://www.sslshopper.com/ssl-checker.html的错误“您可能需要安装中间/链证书以将其链接到受信任的根证书”,并且收到来自{{3}的错误“ TLS证书不受信任” }。
浏览器足够聪明,可以掩盖此问题,但是我的Android应用使用了API,因此无法正常工作。
自ZeroSSL介入以来,还有其他人遇到 TLS问题吗?
我正在 nodejs 上使用 redbirdjs ,这非常好,因为它是如此简单(两个域,同一台服务器),但是Zero没有提供安装说明。 (我的域流量很小,因此使用最快的网络服务器等不是问题。)
Zero在一个证书选项中夺走了2个域(谢谢),所以我更新后的脚本如下:
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,
}
});
除了分离域ssl配置外,它与用于SSLForFree的相同。
我在某处读到“免费” SSL CA不一定提供“完整链”。
任何人都知道如何在Redbirdjs和Node.js上使TLS与ZeroSSL一起使用吗?
答案 0 :(得分:0)
好吧,我知道了。我使用了https://whatsmychaincert.com,我认为它实际上只是将几个文件连接在一起。对于像我这样的红鸟迷来说,这两种方法都是在同一服务器上针对多个域的脚本。
// 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的文件中(如上面的脚本所示)。