node.js - Linux 上有效 SSL 证书的 Nodejs SSL 错误,但 Windows 上没有

标签 node.js https ssl-certificate ssl

我已经购买了 SSL 证书(Geotrust 链、RapidSSL),但似乎无法正确部署它。

var certs = {
    key: fs.readFileSync('cert/private.key'),
    ca: [fs.readFileSync('cert/intermediate1.crt'),
         fs.readFileSync('cert/intermediate2.crt')],
    cert: fs.readFileSync('cert/public.crt')
}

https.createServer(certs, router).listen(443);

此代码段在这台笔记本电脑(操作系统的 Windows XP)上运行良好(即使在证书中没有 ca 属性),但在我的生产环境(Arch Linux)中根本不起作用。 (我在我的 HOSTS 文件中设置了一个重定向,所以我得到了一个完整的挂锁)

NodeJS 版本无关紧要,我已经用一个非常旧的版本进行了测试,它可以在开发计算机上运行。 OpenSSL 是最新的 (1.0.0g)。

我对这个问题感到困惑。 Firefox 报告“ssl_error_rx_record_too_long”,而 Chrome 仅报告“ERR_SSL_PROTOCOL_ERROR”,其他浏览器的描述性更差。

最佳答案

事实证明端口转发设置不正确(在网络设置方面不要相信你 friend 的话)。

关于node.js - Linux 上有效 SSL 证书的 Nodejs SSL 错误,但 Windows 上没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9555633/

相关文章:

C#:强制使用 TLS1.2 但 Https 服务器仍然给出常见算法错误

ssl - Tomcat8 SSL 连接器

ssl - 我可以在两个域上实现通配符 SSL 证书吗?

linux - 在 Centos6 上的 Apache 中设置 SSL

ssl - Glassfish:具有双向身份验证的自签名证书

javascript - Nodejs 集群中从工作人员到工作人员的消息

node.js - 在 OSX 10.9.4 上,node/npm 无法通过brew 安装

Node.js 上的 Javascript FAB 框架

javascript - 为什么 String.prototype 里面的 'this' 指的是对象类型,而不是字符串类型?

http - 为什么已经通过http 获取文件后通过https 请求文件?