- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在 Elastic Beanstalk 上运行的 REST API,效果很好。应用程序方面的一切都运行良好,并且按预期工作。
该应用程序是一个rest api,用于查找不同的用户。
example url: http://service.com/user?uid=xxxx&anotherid=xxxx
如果找到具有任一 ID 的用户,API 将响应 200 OK
,如果没有,则响应 404 Not Found
。 HTTP/1.1
状态代码定义。
我们的 api 在大量请求上回答 404 Not Found
的情况并不少见,弹性 beanstalk 将我们的环境从 OK
转换为 Warning
甚至因此而陷入 Degraded
。由于这种降级状态,nginx 似乎已拒绝连接到应用程序。 (看起来它有超过 30% 的阈值进入警告状态,超过 50% 的阈值进入降级状态。这是一个问题,因为应用程序实际上按预期工作,但是Elastic Beanstalks 默认设置认为这是一个问题,但实际上不是。
有谁知道在 EB 中编辑 4xx 警告和状态转换的阈值或完全禁用它们的方法吗?
或者我真的应该进行症状治疗并停止在这样的通话中使用 404 Not Found
吗? (我真的不喜欢这个选项)
最佳答案
更新:AWS EB 最终包含了一个内置设置: https://stackoverflow.com/a/51556599/1123355
旧解决方案:深入研究 EB 实例并花了几个小时寻找 EB 的运行状况检查守护程序实际上将状态代码报告回 EB 进行评估的位置,我终于找到了它,并提出了一个补丁,可以作为一个完美的解决方法,防止 4xx
响应代码将环境转变为 Degraded
环境健康状态,并通过此电子通知毫无意义地通知您邮件:
Environment health has transitioned from Ok to Degraded. 59.2 % of the requests are erroring with HTTP 4xx.
状态代码报告逻辑位于 healthd-appstat
内,这是由 EB 团队开发的 Ruby 脚本,持续监控 /var/log/nginx/access.log
并向 EB 报告状态代码,具体路径如下:
/opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.2.0/gems/healthd-appstat-1.0.1/lib/healthd-appstat/plugin.rb
以下 .ebextensions
文件将修补此 Ruby 脚本以避免向 EB 报告 4xx
响应代码。这意味着 EB 永远不会因为 4xx
错误而降低环境运行状况,因为它只是不知道这些错误正在发生。这也意味着 EB 环境中的“运行状况”页面将始终显示 0
的 4xx
响应代码计数。
container_commands:
01-patch-healthd:
command: "sudo /bin/sed -i 's/\\# normalize units to seconds with millisecond resolution/if status \\&\\& status.index(\"4\") == 0 then next end/g' /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.2.0/gems/healthd-appstat-1.0.1/lib/healthd-appstat/plugin.rb"
02-restart-healthd:
command: "sudo /usr/bin/kill $(/bin/ps aux | /bin/grep -e '/bin/bash -c healthd' | /usr/bin/awk '{ print $2 }')"
ignoreErrors: true
是的,它有点难看,但它可以完成工作,至少在 EB 团队提供一种通过某些配置参数忽略 4xx
错误的方法之前是这样。部署时将其包含在您的应用程序中,位于相对于项目根目录的以下路径中:
.ebextensions/ignore_4xx.config
祝你好运,请告诉我这是否有帮助!
关于rest - Elastic Beanstalk 禁用基于 4xx 响应的健康状态更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36398456/
我住在荷兰,货币是用逗号 (,) 而不是点 (.)即 14.95 的 feeds 被解释为数字而不是 14.95 欧元 有没有可以解决这个问题的LINUX命令(sed?)?所以14.95变成了14,9
我想问: 我有两个表employee,其中包含字段ID、Fullname、email...和表task 包含字段 name_task、list_employee... 使用字段list_employe
请看下面的测试数据。我想获取 avgtime (=timeonsite/visits) 并在 mysql 中显示为“xx:xx:xx”结果。我怎样才能得到它? SET FOREIGN_KEY_CHEC
我必须处理一个大文件(几 MB)并从中删除带有时间标记的注释。一个例子: blablabla 12:10:40 I want to remove this blablabla some more e
所以我有这些数据直接从 iTunes 复制/粘贴: Excel 具有“XX:XX:00”格式,即“hh:mm:ss”,但您可以想象,它更像“mm:ss:00”。音乐时间不长! 由于这不是直接的单元格格
我有一个对象列表,我想使用 Option.Numero_Reference 属性对其进行排序。 Numero_reference 是一个 xx.xx.xx 格式的字符串 有没有办法按 xx 组排序?
我正在尝试部署 nginx - ingress kubectl run nginx --image=nginx kubectl get pod NAME
我有一个日期“2014-07-02 20:57:38 +0000”,我想将它的格式设置为“今天晚上 8:57”。我希望如果一个字符串是昨天,则将其显示为“昨天上午 9:00”。如果既不是今天也不是昨天
目前我使用的是Apache http components client V4.3.5。在我的例子中,我可以上传小文件(1kb),但是当我运行代码并得到异常“org.apache.http.NoHtt
我在 Linux (RHEL 7) 中运行 HTTPS 服务器。我一启动服务器就收到以下错误。 2019/09/04 15:46:16 http: TLS handshake error from x
我正在参加 CTF 挑战赛,该挑战赛有一个链接,如下所示:46.XXX.XX.XX:8008/ 如果我打开该页面中的开发者工具,我可以找到一个小程序,其属性代码值为“mPage.class”
你好 我想每隔 X 小时在我的程序中运行一个方法,该怎么做?我正在谷歌搜索,但什么也没有:/ 最佳答案 你可以考虑Quartz . 它是在 java 中运行的某种 cron。不过我承认,如果您只想安排
我正在尝试检查 NSString 是否为特定格式。 日:日:日。我在想 NSRegularExpression。有点像 /^(\d)\d:\d\d:\d\d)$/? 最佳答案 你有没有试过这样的事情:
我收到错误 git 存储库的 RSA 主机 key 不在已知主机列表中。当我使用存储库 URL 作为我的 git 克隆 URL 运行 jenkins 作业时。 我尝试在运行作业的主机中克隆相同的存储库
我有一个计数器,每 1 秒计数一次,并将 1 添加到 int。 问题 如何格式化我的字符串,使计数器看起来像这样: 00:01:23 代替: 123 我尝试过的事情 到目前为止我尝试过的事情: for
ERROR 2003 (HY000): Can't connect to MySQL server on 'xx.xx.xx.xx.' (60) 我在尝试远程连接到此服务器时收到此错误。我最近硬重启了
我正在尝试将一些数据从客户端浏览器插入到 AWS 服务器上的 MySQL 数据库。 该代码在 godaddy 上运行,因此看起来像是权限/安全问题。 $servername = "xx.xx.xx.x
我想知道是否有标准方法可以以“UTC+XX:XX”或“UTC-XX:XX”格式返回设备的当前时区? 基于格式化 NSDate 我知道可以在“ZZZZ”的帮助下获得当前时区,它给出“GMT-08:00”
我的 JVM 有 -server 选项,我相信它使 JVM 能够使用 C2 编译器,这意味着用于服务器应用程序,这些应用程序往往比客户端应用程序运行时间更长。但是,GRAAL JIT(由 -XX:+U
public void colortemperatureJSliderStateChanged(ChangeEvent event) { fahrenheitdegree = colortemp
我是一名优秀的程序员,十分优秀!