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

时间:2016-04-21 15:43:12

标签: node.js amazon-web-services ssl amazon-ec2

我试图在Amazon EC2上创建一个简单的https服务器来测试第三方API。

以下是我遵循的步骤:

  1. 创建了一个Amazon EC2实例,并打开了HTTP和HTTPS端口:
  2. enter image description here

    1. 使用
    2. 创建简单的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. 创建了一个简单的节点js server
      2. 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需要修复的内容吗?

1 个答案:

答案 0 :(得分:3)

listen(8080)更改为listen(443),除非您的网络服务器正在侦听443并在8080上向节点发送请求。