2017-02-28 178 views
1

创建自签名证书,在Chrome开启不安全的本地主机之后: 铬://标志/#允许不安全,本地主机HTTPS服务器自签名证书

并添加自签名证书系统后'相信所有'。下面的代码仍然不通过https托管服务器。 显示在镀铬以下错误:

This site can’t provide a secure connection 

localhost sent an invalid response. 
Try running Network Diagnostics. 
ERR_SSL_PROTOCOL_ERROR 

我缺少的是这个工作?

var express = require('express'); 
var https = require('https'); 
var http = require('http'); 
var fs = require('fs'); 

// This line is from the Node.js HTTPS documentation. 
var options = { 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('cert.pem') 
}; 

// Create a service (the app object is just a callback). 
var app = express(); 

// Create an HTTP service. 
http.createServer(app).listen(8000); 
// Create an HTTPS service identical to the HTTP service. 
https.createServer(options, app).listen(8001); 
+0

你连接到正确的端口? 'https:// localhost:8001/...' – robertklep

+0

是的,我冲浪到https:// localhost:8001/ – Vincent

+0

您的证书是CN'localhost'吗?即'CN = localhost' – wablab

回答

3

创建证书(遵循http://www.akadia.com/services/ssh_test_certificate.html)和添加它来钥匙串访问为我工作在Mac

openssl genrsa -des3 -out server.key 1024 
    openssl req -new -key server.key -out server.csr 
    cp server.key server.key.org 
    openssl rsa -in server.key.org -out server.key 
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 
+0

这些为Mac的步骤在搜索Internet两小时后制作了一个窍门。感谢@Vincent!我之前使用的是https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/说明和证书无效的步骤。 –

0

我遇到了类似的问题,当我不小心擦掉了我的openssl-serial文件。从那时起颁发的所有证书都以已发布的连续剧开始。如果客户注意到该客户已经看到一个序列号的证书,该证书将不会被接受,连接也不会建立。

虽然我不知道是否是这个问题(也许你跟踪你的日志的详细错误)。