运行反向代理的Elastic Beanstalk上的TLS

问题描述 投票:0回答:1

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

以下是我完成的步骤

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

enter image description here

我的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,我们需要添加cert和pem文件并在端口443上侦听。但是因为我使用的是ACM证书,所以我没有cert和pem文件。

我在nginx.conf中添加了什么才能使其正常工作?

谢谢

amazon-web-services ssl nginx elastic-beanstalk aws-load-balancer
1个回答
1
投票

在负载均衡器侦听器配置中,对于端口443侦听器,“实例端口”设置应为80

© www.soinside.com 2019 - 2024. All rights reserved.