相关疑难解决方法(0)

Elastic Beanstalk根据4xx响应禁用健康状况更改

我在Elastic Beanstalk上运行了一个休息API,效果很好.应用程序方面的一切都运行良好,并按预期工作.

该应用程序是一个rest api,用于查找不同的用户.

example url: http://service.com/user?uid=xxxx&anotherid=xxxx
Run Code Online (Sandbox Code Playgroud)

如果找到具有任一id的用户,则api响应200 OK,如果不是,则响应404 Not Found为.HTTP/1.1状态代码捍卫.

我们的api对404 Not Found很多请求的回答并不少见,弹性beanstalk会将我们的环境转移OKWarning甚至是Degraded因为这个.nginx由于这种退化状态,它似乎拒绝连接到应用程序.(看起来有30%+阈值到warning50%+进degraded的状态.这是一个问题,因为应用程序实际上是工作正常,但弹性Beanstalks默认设置认为这是一个问题,当它真的不是.

有没有人知道在EB中编辑4xx警告和状态转换的阈值的方法,还是完全禁用它们?

或者我应该真的做一个症状治疗并停止使用404 Not Found这样的电话?(我真的不喜欢这个选项)

rest amazon-web-services amazon-elastic-beanstalk

49
推荐指数
3
解决办法
1万
查看次数

在 AWS ElasticBeanstalk Nginx 中使用 gzip

我有一个 Python 3.7 的 AWS EB 环境,运行 Amazon Linux 2/3.1.2,使用 Nginx 作为代理服务器。我正在尝试为我的应用程序添加 gzip 压缩。我在网上尝试了几个教程,但它们似乎都不适合我。我也是 AWS 的新手,因此可能不熟悉其某些服务。

目前,我有一个像这样的目录树:

-- .ebextensions
-- .platform
   -- nginx
     -- conf.d
        -- gzip.conf
-- (other files)
Run Code Online (Sandbox Code Playgroud)

我尝试添加一个配置文件来.ebextensions创建一个.conf启用 gzip 压缩的文件,但它似乎不起作用。我也尝试将代理切换到 Apache,但没有成功。教程说,对于最新版本的 Amazon Linux 2,nginx 配置文件应放置在该.platform文件夹中,因此我按照说明进行了操作。但是,我的gzip.conf文件似乎仍然不起作用 - 文件仍然以其原始格式呈现。

目前我的gzip.conf

gzip on;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/html text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
Run Code Online (Sandbox Code Playgroud)

编辑:我通过 SSH 连接到我的 …

gzip nginx amazon-web-services amazon-elastic-beanstalk

10
推荐指数
1
解决办法
3514
查看次数

如何为nginx位置指令配置.ebextensions?

我想在Elastic Beanstalk中配置我的暂存环境,以便始终禁止所有蜘蛛.nginx指令看起来像这样:

location /robots.txt {
    return 200 "User-agent: *\nDisallow: /";
}
Run Code Online (Sandbox Code Playgroud)

我知道我想在.ebextensions /文件夹下创建一个文件,例如01_nginx.config,但我不知道如何在其中构建YAML以便它可以工作.我的目标是将此位置指令添加到现有配置,而不必完全替换现有的任何现有配置文件.

nginx amazon-elastic-beanstalk

6
推荐指数
4
解决办法
1万
查看次数

Node.js Elastic Beanstalk在重负载下拒绝连接(ECONNRESET)

我在Elastic Beanstalk中部署了一个简单的Node.js Express应用程序.

使用loadtest npm软件包,我每秒150次请求直接打开EC2实例(绕过ELB),这就是事情开始变得毛茸茸的时候.

loadtest -c 10 --rps 150 http://{EC2-IP}/
Run Code Online (Sandbox Code Playgroud)

服务器会立即重置连接(ECONNRESET),使应用程序无法访问.它拒绝支持超过X个并发连接.

scalability nginx amazon-ec2 node.js amazon-elastic-beanstalk

2
推荐指数
1
解决办法
2630
查看次数