在Amazon EC2上运行简单的HTTPS节点JS服务器

我正在尝试在Amazon EC2上创build一个简单的https服务器来testing第三方API。

以下是我遵循的步骤:

  1. 创build了Amazon EC2实例,并打开了HTTP和HTTPS端口:

在这里输入图像描述

  1. 使用创build简单的SSL凭据

openssl genrsa 2048> privatekey.pem

openssl req -new -key privatekey.pem -out csr.pem

openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out server.crt

  1. 创build了一个简单的节点js服务器
var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('./privatekey.pem'), cert: fs.readFileSync('./server.crt') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8080); 

当我运行服务器,并试图连接到它使用urlhttps://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/ ,我不断得到一个连接被拒绝。

一个telnettesting也会产生:

 Trying XX.XXX.XXX.XXX... telnet: connect to address XX.XXX.XXX.XXX: Connection refused telnet: Unable to connect to remote host 

有人可以告诉我什么,我需要解决这个EC2实例启用https?

除非您有一个Web服务器侦听443并向8080上的节点发送请求,否则将您的listen(8080)更改为listen(443)