首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPS请求使用弹性负载均衡和EC2/Nginx如何解决502 Bad Gateway错误?

问HTTPS请求使用弹性负载均衡和EC2/Nginx如何解决502 Bad Gateway错误?
EN

Stack Overflow用户
提问于 2018-05-01 23:22:40
回答 1查看 29.5K关注 0票数 15

当我在运行Nginx的EC2实例前使用AWS Elastic Load Balancer (应用程序类型)时,我遇到了HTTPS请求的“502坏网关”问题。Nginx在每个实例上充当反向代理,为python应用程序(金字塔框架)提供服务的女服务员服务器。我尝试在ELB使用TLS终止,以便EC2实例只处理HTTP。下面是粗略的设置:

客户端HTTPS请求> ELB (监听443,后端转发到80 )> Nginx监听80端口(在Ec2实例上)>转发到服务员/金字塔(在同一个ec2实例上)

当我在HTTPS上发出请求时,我得到502错误。然而,当我发出常规的HTTP请求时,我得到了一个预期的响应(除了ELB正在侦听端口80之外,与上面的设置相同)。

一些附加信息: ELB运行状况检查正在进行中。所有VPC/安全组都配置正确(我相信)。我在ELB上使用AWS证书,使用AWS上的标准设置/演练。我通过SSH连接到Ec2实例中,在Nginx访问日志中,看起来HTTPS请求仍然是加密的?或者是一些编码问题?

​

​

下面是EC2实例上的nginx.conf:

代码语言:javascript
复制
#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    access_log /etc/nginx/access.log;  
    sendfile        on;

    # Configuration containing list of application servers
    upstream app_servers {

        server 127.0.0.1:6543;
    }   

    server {
        listen       80;
        server_name  [MY-EC2-SERVER-NAME];


        # Proxy connections to the application servers
        # app_servers
        location / {

            proxy_pass         http://app_servers;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-02 00:42:43

好的,我想出来了(我是个笨蛋)。我在ELB上设置了两个监听器,一个用于80,另一个用于443,这是正确的。80的侦听器已正确设置为按预期通过HTTP转发到后端(Nginx)端口80。443侦听器被错误地配置为通过HTTPS发送到后端的端口80。我更新了443监听器,使其使用与80监听器相同的规则(即,监听443,但通过HTTP发送到后端80 ),它起作用了。无视你们所有人。

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50119152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档