AWS ALB 针对使用 Flask 应用程序的 EC2 实例返回 502 Bad Gateway 错误

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

我正在尝试测试 Facebook OAuth,因此拥有一些 Flask OAuth 登录设置的精确副本。我将其放入我的 EC2 实例中,购买了一个域名,并在 Route 53 上注册了它,制作了一个应用程序负载均衡器,并将我的 EC2 分配给了它。

我使用 Flask 的默认端口 (5000),并且我的安全组设置已在端口 5000 上打开入站,并且在出站上打开所有流量(像这样

健康检查工作正常。我可以从 Flask 的日志中看到它正在运行并返回 200。但是当我输入域名时,它返回

502 Bad Gateway

在 EC2 实例端,我打开了应用程序,这会返回代码

400 Bad Request Syntax
像这样)。 我尝试更改编码格式,但失败了。

我已经检查了安全端口,检查了我的 Route 53 A 型记录集,EC2 实例本身似乎工作正常,来自目标组的运行状况检查一切正常,但我不知道我在哪里出了问题。

编辑

curl -vvv {domain_name}
返回:

* Rebuilt URL to: www.*.xyz/
*   Trying 1****...
* TCP_NODELAY set
* Connected to www.*.xyz (*) port 80 (#0)
> GET / HTTP/1.1
> Host: www.*.xyz
> User-Agent: curl/7.53.1
> Accept: */*
>
< HTTP/1.1 502 Bad Gateway
< Server: awselb/2.0
< Date: Wed, 28 Mar 2018 10:43:58 GMT
< Content-Type: text/html
< Content-Length: 138
< Connection: keep-alive
<
<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
* Connection #0 to host www.*.xyz left intact

编辑2:我的

502 Bad Gateway
错误的原因是由于我的目标组使用HTTPS协议。但我需要使用 HTTPS 来完成此操作,因为 Facebook OAuth 只能在 HTTPS 下工作。

python amazon-web-services flask amazon-ec2
1个回答
3
投票

502 Bad Gateway 错误是一个 HTTP 状态代码,表示 ELB 从 EC2 实例收到无效响应。

我猜您在目标组中选择了 HTTPS,使用 HTTP 创建一个新的目标组并将其附加到负载均衡器。

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