2015-12-03 130 views
0

當我從終端運行curl -k https://localhost:8080/,我得到以下錯誤:SSL握手失敗W /自簽名證書

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

代碼:(語言的CoffeeScript)

https = require 'https' 

fs = require 'fs' 

options = 
    key: fs.readFileSync('server.key') 
    cert: fs.readFileSync('server.crt') 
    requestCert: false 
    rejectUnauthorized: false 

server = https.createServer(options, 
    (req, res) => 
    console.log "TEST" 
) 

server.listen(process.env.PORT, process.env.IP) 

其他info: 我在Cloud9的UNIX機器上運行這些程序。 證書是免費的,自簽名的東西。

回答

1

來源:http://www.akadia.com/services/ssh_test_certificate.html

「在企業社會責任的一代,你會被提示輸入一些信息,這些都是該證書的X.509屬性的一個提示的將是。」通用名稱(例如,你的名字)「這個字段必須填寫由SSL保護的服務器的完全合格域名如果要保護的網站是https://public.akadia.com,則輸入public.akadia .com在此提示。「

證書中的「Common Name」與您所在的URL之間的不匹配會導致您遇到的問題!嘗試使用「Common Name」重新生成您的證書作爲您的完整指定的 URL。