我正在尝试在亚马逊EC2上创建一个简单的https服务器,以测试第三方API。
以下是我所遵循的步骤:
- 创建了一个Amazon EC2实例,并打开了HTTP和HTTPS端口:
- 使用以下命令创建简单的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
- 创建一个简单的Node.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);
当我运行服务器并尝试使用URL https://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com/ 进行连接时,我一直收到“连接被拒绝”的错误信息。一个telnet测试也产生了以下结果:
Trying XX.XXX.XXX.XXX...
telnet: connect to address XX.XXX.XXX.XXX: Connection refused
telnet: Unable to connect to remote host
有人能告诉我在这个EC2实例上启用https需要修复什么吗?