关于亚马逊网络服务:我是否必须在 AWS Application Load Balancer 后面的 nginx.conf 文件中配置 SSL 证书文件?

Do I have to configure SSL certificates files in nginx.conf file behind AWS Application Load Balancer?

我在 AWS EC2 中有一个用于 HTTPS 传入连接的配置。
因为我是这个东西的新手,所以我有 nginx 配置,我会以老式的方式编辑它:https://nginx.org/en/docs/http/configuring_https_servers.html。

不过,在 AWS EC2 中,我可以向它添加证书,然后将 443 和 80 端口连接重定向到我的 nginx 作为反向代理运行的端口 8000。

Nginx 是否仍然必须在本地将这些证书文件及其路径添加到配置中,还是应该由 ELB 解码流量并发送到 Nginx 解码?


如果在 ELB 中设置并分配给 HTTPS 侦听器,您不必在 EC2 上使用 nginx 拥有 SSL 证书。只需确保您的 EC2 的目标组是具有端口 8000 的 HTTP 类型。


如前所述,证书应设置在 ALB 端。
这种将 Nginx 作为 AWS ALB 后面的反向代理的配置对我有用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {    
    listen       80;
    listen       443;
    server_name  server_name;


    location / {
                proxy_pass         http://localhost:8000;
                proxy_set_header   Host                 $host;
                proxy_set_header   X-Forwarded-HTTPS    on;
                proxy_set_header   X-Real-IP            $remote_addr;
                proxy_set_header   X-Forwarded-For      $proxy_add_x_forwarded_for;
                proxy_redirect off;        
    }