带有自签名证书的Https服务器

在创build自签名证书后,在chrome中变为不安全的本地主机:chrome:// flags /#allow-insecure-localhost

并添加了自签名证书系统和“全部信任”。 下面的代码仍然不通过https托pipe服务器。 在Chrome中显示以下错误:

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

创build证书(按照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 

当我不小心擦掉了我的openssl-serial文件时,遇到了类似的问题。 从那时起发行的所有证书都是从已经发行的连续出版物开始的。 如果一个客户注意到一个已经被这个客户看到的串行证书,这个证书将不被接受,连接也不会被build立。

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