2012-03-04 95 views
0

我已經購買了SSL證書(Geotrust chain,RapidSSL),並且似乎無法正確部署它。Nodejs SSL錯誤,在Linux上有效的SSL證書但沒有Windows

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); 

這段代碼工作完全正常(甚至沒有證書的CA屬性)這檯筆記本電腦,但不是在所有在我的生產環境(Arch Linux的)(Windows操作系統的的XP)。 (我在我的HOSTS文件中設置了一個重定向,所以我得到一個完整的掛鎖)

NodeJS版本是不相關的,我測試了一個非常老的,它在開發計算機上工作。 OpenSSL是最新的(1.0.0g)。

我很困惑這個問題。 Firefox報告「ssl_error_rx_record_too_long」,而Chrome僅聲明「ERR_SSL_PROTOCOL_ERROR」其他瀏覽器的分辨率更低。

回答

2

事實證明,端口轉發沒有正確設置(關於網絡設置,不要相信你的朋友的話)。