代码之家  ›  专栏  ›  技术社区  ›  CodyBugstein

为什么我的NodeJS服务器部署到Elastic Beanstalk,在端口80上接收HTTPS流量?

  •  1
  • CodyBugstein  · 技术社区  · 6 年前

    我编写了一个非常简单的NodeJS服务器

    var http = require("http");
    
    http.createServer(function (request, response) {
       response.writeHead(200, {'Content-Type': 'text/plain'});
       response.end('Hello World\n');
    }).listen(80);
    console.log('Server running at http://127.0.0.1:8081/');
    

    然后,我选择了“经典负载平衡器”选项,将其部署到Elastic Beanstalk。

    奇怪的是,服务器响应发送的流量 https

    我希望它不知道如何处理这个流量,因为服务器只监听端口80,这是 http (否 s )。

    有人解释或至少知道为什么我的NodeJS处理非HTTPS请求吗?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Popoi Menenet    6 年前

    什么时候 https 发出请求后,它将在负载平衡器处终止。然后,负载平衡器将 http 向侦听器(也称为NodeJS应用程序)请求。这是ElasticBeanstalk中负载平衡器的默认配置。

    因此,您的NodeJS应用程序正在处理 http协议 请求来自负载平衡器,而不是 https 直接来自客户。