2015-12-03 77 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。