如何在AWS EC2上通过HTTPS服务nodeJS应用?"/>
如何在AWS EC2上通过HTTPS服务nodeJS应用?
我正在尝试在EC2实例上运行hello world express应用,并通过HTTPS提供服务。
这是服务器代码:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!\n');
});
const server = app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
server.keepAliveTimeout = 65000; // Ensure all inactive connections are terminated by the ALB, by setting this a few seconds higher than the ALB idle timeout
server.headersTimeout = 66000; // Ensure the headersTimeout is set higher than the keepAliveTimeout due to this nodejs regression bug:
我创建了一个EC2实例,并使其在此处运行。另外,为了获得HTTPS,我使用SSL证书启动了一个Application Load Balancer。我在端口443上创建了一个侦听器,并将其转发到EC2上的端口3000。最后,我设置了一个Route53条目以指向该ALB。
[我得到的24/7全是502 Bad Gateway
。我在这里缺少基本的东西吗?
如何通过HTTPS运行最基本的快递服务器?
回答如下:对于以后可能偶然发现此问题的任何人:
如果您希望终止负载平衡器上的HTTPS并在其后与您的应用程序说HTTP,则在控制台中创建目标组时,需要选择HTTP作为协议,并选择节点应用程序的端口。
出于某种原因,当我想接受HTTPS流量时,考虑了几个小时,应该分别为HTTPS和443。
更多推荐
如何在AWS EC2上通过HTTPS服务nodeJS应用?
发布评论