Elastic Beanstalk 运行 反向代理上的 TLS

TLS on Elastic Beanstalk running reverse proxy

我想将 TLS 添加到我的 AWS Elastic Beanstalk 应用程序。它是 nginx 代理服务器后面的 node.js 应用程序 运行。

这是我完成的步骤

  1. 从 Amazon Certificate Manager 获取通配符证书。
  2. 在我的 EB 实例的负载均衡器配置部分添加证书。

我的 nginx 配置的相关部分是

files:
  /etc/nginx/conf.d/proxy.conf:
  mode: "000644"
  content: |
    upstream nodejs {
      server 127.0.0.1:8081;
      keepalive 256;
    }

    server {
      listen 8080;

      proxy_set_header X-Forwarded-Proto $scheme;
      if ( $http_x_forwarded_proto != 'https' ) {
        return 301 https://$host$request_uri;
      }

      location / {
        proxy_pass  http://nodejs;
        proxy_http_version 1.1;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }

当我尝试使用 https 访问我的应用程序时,我收到 408: Request Timed Out

据我了解,要在 nginx 上启用 ssl,我们需要将证书与 pem 文件一起添加并在端口 443 上侦听。但是由于我使用的是 ACM 证书,所以我没有证书和 pem 文件.

我的 nginx.conf 中缺少什么才能使它起作用?

谢谢

在负载均衡监听器配置中,对于端口443监听器,"Instance Port"设置应该是80.