簡體   English   中英

NodeJS https服務器使用express返回ERR_SSL_PROTOCOL_ERROR

[英]NodeJS https server returning ERR_SSL_PROTOCOL_ERROR using express

我試圖讓 SSL https 在我的 nodejs 服務器上工作,但瀏覽器返回 ERR_SSL_PROTOCOL_ERROR

代碼:

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

var options = {
    key: fs.readFileSync('key.pem'),
    cert: fs.readFileSync('cert.pem')
}

http.createServer(app).listen(80);
https.createServer(options, app).listen(443);

如果您的密鑰未正確生成,則會發生這種情況。

很多地方會告訴你這樣做:

openssl genrsa -out key.pem

如果您使用的是 Mac,這將不起作用,您需要這樣做以使密鑰長度為 2048:

openssl genrsa -out key.pem 2048

總之,請執行以下步驟以在 Mac 上制作正確的密鑰:

openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out client.csr
openssl x509 -req -in client.csr -signkey key.pem -out cert.pem

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM