问题标签 [aws-application-load-balancer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aws-lambda - AWS ALB 从 Lambda 返回 502 而不是自定义 HTTP 状态
我创建了一个 Lambda,它检查 DynamoDB 表是否存在匹配主机和请求路径的记录,如果找到,则返回到匹配 URL 的重定向。
我的 Lambda 返回此响应,但 ALB 返回 502。
这是我在 CloudWatch 中为 Lambda 函数找到的日志
这是我得到的回应
我找不到任何说我们不能从 Lambda 返回非 200 响应的信息,所以我真的不知道......
您还可以在相关的 GitHub 存储库中找到这个问题:https ://github.com/aws/aws-lambda-dotnet/issues/507
amazon-web-services - 当上游服务器位于 ALB 后面时,nginx 作为反向代理返回 502s
我的设置是一个负载均衡器,它连接到一个 nginx 盒子,它充当位于 uwsgi 应用程序前面的负载均衡器的反向代理。
我得到一个零星的502和不少
epoll_wait() reported that client prematurely closed connection
查看 uwsgi 应用程序前面的 ALB 日志,该response_processing_time
字段设置为-1
. 我已经测试过绕过 nginx 并直接到 ALB 与 uwsgi 应用程序对话运行良好,因此 nginx 方面的某些东西正在中断。
我查看了数十种解决方案,以下是我尝试过的主要解决方案但无济于事
- 试过关闭keepalive
- 尝试增加保活超时
- 确保它在 http1.1 上
- 增加代理读取/连接超时
- 升级到 Nginx 1.17.3
- 增加ulimit、somaxconn等
在位置设置很多标题和设置
/li>
我尝试删除 uwsgi ALB 并直接进入单个 UWSGI 应用程序。502 消失了。显然,随着我的扩展,这不会起作用。
有没有人知道为什么 ALB 给了我不好的回应?
angular - Angular 7/8 响应开发服务器上的健康检查
我运行 Angular 开发服务器ng serve
:
它在 EC2 实例上运行并侦听端口 4200。我的负载均衡器正在 / 上进行健康检查,但由于某种原因,开发服务器在该路由上没有响应 200?
有没有办法配置 Angular 开发服务器以在某些路由上响应 200,它可能是/或其他路由?
amazon-web-services - AWS ALB 重定向到 URL
我正在尝试在任何应用程序升级期间使用 AWS ALB 将所有流量重定向到 http URL。
我创建了一个默认规则,它监听 80 并重定向到 S3 URL ( http://bucket-name.s3-website-ap-southeast-2.amazonaws.com:80/index.html )。S3 URL 可以通过我的浏览器访问。但是当我访问指向 ALB 的 URL 时,重定向到 S3 URL 不起作用。
规则详情:
最后 - HTTP80:默认操作 - IF 否则未路由请求 - - THEN 重定向到http://bucket-name.s3-website-ap-southeast-2.amazonaws.com:80/index.html?# {query} 状态代码:HTTP_301
任何人都可以帮我解决这个问题
amazon-cloudformation - 在 ECS 中使用应用程序负载均衡器的 504 网关超时
在 ECS 上部署 Laravel Web 应用程序,为了启用自动缩放,我正在使用 Application Load Balancer。该应用程序工作(和扩展)完美,直到我介绍了一个重量级的页面,大约504 Gateway Timeout
一分钟后我开始出现错误。
我很确定单个 Web 服务器具有更高的超时时间(在本地测试应用程序时不会发生这种情况),因此问题一定与 AWS 环境(ECS / ALB)相关。
您可以在下面找到 ALB 设置的片段
node.js - 为 Angular+NodeJS Web 应用程序设置 AWS 应用程序负载均衡器时如何修复错误
我为我的网站设置了一个 Application Load Balancer (AWS)。在我的网站中,我有 angular 作为我的前端,我有 NodeJs 和 Neptune DB 作为我的后端。
浏览器(本地计算机)-> ALB -> EC2 实例(Web)。
我的网站有一个网址(https://example.com ),所以当我在本地机器浏览器中向https://example.com发出请求时,Angular 将执行一个 api 调用httpclient.get()
,用于从 nodejs 获取数据https://example.com/api/ticket。
所以我的问题是,当 Angular 从 NodeJS 获取数据时,api 调用会绕过 ALB,那么主机是什么?还是 NodeJs 会识别出请求来自本地?
amazon-web-services - 如何在 AWS ALB 中进行端口转发
我有一个 apache 服务器在 ALB 后面的 ec2 上运行,监听端口 3000。我想知道如何从 ALB 的端口 80 端口转发到 ec2 的端口 3000。我尝试使用端口 3000 创建目标组,但在静脉中。请建议我如何实现这一目标。提前致谢。
amazon-web-services - 在 AWS Application Load Balancer 上使用 Go 时,WebSocket 连接失败并出现 301
我正在尝试在 AWS 应用程序负载均衡器上运行带有 WebSockets 的 Go 服务器,但我收到'Error during WebSocket handshake: Unexpected response code: 301'。
AWS 表示应用程序负载均衡器通过ws://协议支持 WebSockets,但除了以下内容之外,我找不到任何进一步的文档:
Application Load Balancer 支持两种附加协议:WebSocket 和 HTTP/2。
WebSocket 允许您在客户端和服务器之间建立长期的 TCP 连接。这是一种比老式方法更有效的替代方法,老式方法涉及在很长一段时间内通过“心跳”保持打开的 HTTP 连接。WebSocket 非常适合移动设备,可用于传递股票报价、体育比分和其他动态数据,同时最大限度地降低功耗。ALB 通过 ws:// 和 wss:// 协议为 WebSocket 提供本机支持。
我可以让 JavaScript 在本地通过 WebSockets 连接到我的 Go 服务器,但是当我部署 AWS 时它不起作用。这是 JavaScript 显示 301 错误的时候。
Application Load Balancer 正在侦听HTTP: 80并且流量被定向到HTTPS: 443。所有安全组的设置都非常相似,以允许流量通过。如果我在 AWS 上部署时执行普通的 GET 调用以从我的服务器检索数据,它工作得非常好。
用于连接到 localhost 的本地调用
连接到不起作用的远程服务器。
nginx.conf
我希望能够建立 WebSocket 连接,但 JavaScript 文件返回以下错误:
WebSocket 连接到“ws://myexamplesite.com/websocket”失败:WebSocket 握手期间出错:意外响应代码:301
amazon-web-services - 无法将自定义域与 ALB、Route 53 和 Cognito 一起使用
我有一个在 ECS 上运行的 Flask 应用程序,它通过 Application Load Balancer 然后通过 Cognito 进行身份验证。
如果我复制 ALB 的 DNS 一切正常,但我必须跳过 SSL 警告消息(这基本上是我试图避免的)。
我尝试获取域并通过 Route 53 路由应用程序,但没有成功。我得到一个空白页,如果我输入 www.myapp.com/login 我得到“必需的字符串参数 'client_id' 不存在”
如果我尝试使用亚马逊的 Cognito 域(myapp.auth.us-east-1.amazoncognito.com),我也会得到相同的行为
在过去的几天里,我一直在摸头,不知道如何解决这个问题。任何帮助是极大的赞赏。
谢谢你们。