Nodejs SSL错误,Linux上有效的SSL证书,但不是Windows

时间:2012-03-04 14:25:13

标签: node.js https ssl-certificate ssl

我已经购买了SSL证书(Geotrust chain,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”,其他浏览器的描述性更差。

1 个答案:

答案 0 :(得分:2)

因为事实证明端口转发没有正确设置(在网络设置时不要相信你的朋友的话)。