【发布时间】:2018-08-16 06:20:51
【问题描述】:
所以我试图让一个基本的 https 服务器在节点中运行,但我完全被卡住了。我已经使用 openssl 生成了一个自签名证书和密钥,并尝试了创建服务器和另外一百个服务器的基本方法,但无论我做什么,我的浏览器都会在我尝试时告诉我“连接已重置”连接,服务器甚至不执行请求的回调函数,就好像它从未到达一样。
Firefox 开发者版中的网络检查器显示服务器根本没有响应,并使用 Wireshark 检查我的环回接口,我发现服务器在确认浏览器的请求后立即发送“结束”包。
我真的不知道哪里出了问题,因为我已经尝试了许多教程中的示例代码,并且所有这些都产生了相同的输出。
这是一些非常基本的代码示例,不会引发错误,但显然也不起作用:
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('sslcert/key.pem'),
cert: fs.readFileSync('sslcert/server.crt'),
rejectUnauthorized: false
}
https.createServer(options, (req, res) => {
console.log('request received')
res.writeHead(200)
res.end('hello')
}).listen(8443).on('error', (error) => {
throw error
})
【问题讨论】:
-
还可以查看stackoverflow.com/questions/54836702/…,了解如何在 Node.js 中创建简单的 HTTP 到 HTTPS 重定向