创建自签名证书后,在chrome中打开不安全的localhost后: chrome:// flags / #allow-insecure-localhost
并在添加自签名证书系统和'信任所有'之后。以下代码仍然不通过https托管服务器。 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);
答案 0 :(得分:4)
创建证书(紧跟http://www.akadia.com/services/ssh_test_certificate.html)并将其添加到钥匙串访问权限,这对我来说非常有用
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
答案 1 :(得分:0)
当我不小心擦掉我的openssl-serial文件时,我遇到了类似的问题。从那时起颁发的所有证书都是从已经发布的序列开始的。如果客户端记录了该客户已经看过的序列号证书,则该证书根本不会被接受,并且该连接将不会建立。
虽然我不知道这是否是问题(也许你会在日志中找到详细的错误)。