在 Elastic Beanstalk 前面终止 Application Load Balancer 上的 SSL

Terminate SSL on Application Load Balancer in front of Elastic Beanstalk

好的,所以我非常接近在 ALB 上终止我的 Amazon 生成的 SSL,该 ALB 位于我在 Elastic Beanstalk 上运行的 Web 应用程序前面。

到目前为止我所做的是在我的应用程序根目录下的.ebextensions文件夹中添加一个名为alb-secure-listener.config的文件,该文件的内容如下:

option_settings:
    aws:elbv2:listener:443:
        DefaultProcess: https
        ListenerEnabled: 'true'
        Protocol: HTTPS
        SSLCertificateArns: arn:aws:acm:us-east-1:#############:certificate/####################################
    aws:elasticbeanstalk:environment:process:https:
        Port: '443'
        Protocol: HTTPS

其中所有 ### 的行都替换为我的 SSL ARN。

现在,当我打开 https://mywebapp.com 时,我看到的是“502 Bad Gateway”页面而不是我的 Web 应用程序,该页面 - 然而 - 由我要使用的 SSL 证书保护。

打开 http://mywebapp.com 正常显示站点。

我猜某处存在疏忽,但我还没有弄清楚它是什么,如果有人知道请告诉我:D

您需要告诉 ALB 通过端口 80 上的 HTTP 与 EC2 实例通信。将最后两行更改为:

Port: '80'
Protocol: HTTP