AWS Load Balancer,启用HTTPS侦听器并路由到80

时间:2016-09-08 19:34:36

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

我在两台运行带有PM2的SailsJS的服务器前面有一个AWS LoadBalancer。 LB工作得非常好,并将传入的HTTP请求路由到服务器,这是完美的。

现在,我需要添加对HTTPS的支持,所以我遵循了本指南: AWS Create a Classic Load Balancer with an HTTPS Listener,使用自生成的SSL证书,并将此配置用于端口

LB Port 80 - Instance 80 
LB Port 443 - Instance 80

安全组已打开这些端口:

22, 
80, 
443

因此,如果我理解正确,LB将在端口443上接收HTTPS请求,并将其转发到实例的端口80。当然,我的实例是在端口80上进行监听。

问题是,这不起作用!我可以向LB发出HTTP请求,并且所有请求都完美地路由到Sails实例,响应非常完美。但是,如果我使用完全相同的URL但使用HTTPS,那么它不起作用,我得到一个“ERR_SSL_PROTOCOL_ERROR”。

我做错了什么,我错过了什么?

谢谢!

编辑1 如果我尝试curl -v https://example.com

,这就是我得到的
* Trying xx.xx.xx.xx...
* Connected to example.com (xx.xx.xx.xx) port 443 (#0)
* Unknown SSL protocol error in connection to example.com:-9838
* Closing connection 0
curl: (35) Unknown SSL protocol error in connection to mydomain.com:-9838

编辑2

找到另一个帖子which suggested a different way of creating the certificate。所以我尝试了,但现在AWS甚至不接受私钥和证书

Server Certificate not found for the key:    arn:aws:iam::111111111:server-certificate/CertificateMyName

编辑3

好的,所以找到了关于我couldn't load the certificates to AWS为什么的更多信息,经过一段时间的尝试,我设法加载并使用它。

之后,它似乎正在工作(警告不是有效的证书和bla,bla,bla,这是预期的)

* Trying XXX.XXX.XXX.XXX...
* Connected to example.com (XXX.XXX.XXX.XXX) port 443 (#0)
* SSL certificate problem: Invalid certificate chain
* Closing connection 0
curl: (60) SSL certificate problem: Invalid certificate chain

所以它似乎正在工作,而且看起来像@MarkB建议证书是错误的。使用在EDIT 2上找到的信息,我创建了一个新信息,并上传它(使用EDIT 3的信息),它似乎正在工作。

我会执行更多测试,以100%确定这是有效的,并会很快报告。

1 个答案:

答案 0 :(得分:0)

好的,问题是错误生成的证书。我使用了我发现的第一种方法,但它没有用,所以只需使用它们:

openssl genrsa -out client-key.pem 2048
openssl req -new -key client-key.pem -out client.csr
openssl x509 -req -in client.csr -signkey client-key.pem -out client-cert.pem

即便如此,AWS告诉我:

Server Certificate not found for the key:    arn:aws:iam::111111111:server-certificate/CertificateMyName

但是最后一个错误是错误的,即使证书WAS添加到ACM的错误,我在我的HTTPS 443监听器中使用它,再次测试服务,一切正常。因此,只需使用上述说明创建证书,在ACM中导入证书,如果它给您带来如上所述的错误,请忽略它,您的证书将就位并准备好使用。

希望这有助于其他人!

相关问题