标签: amazon-linux-2

为什么 Amazon Linux 2 的 wget 版本比 Amazon Linux 1 旧?

我们注意到 Amazon Linux 2 上的 wget 是 v1.14,但在较旧版本的 Amazon Linux 上,它是 v1.18。

知道为什么会这样吗?我很确定我们在这两种情况下都是从 yum 安装的。

有没有办法让 yum 在 Amazon Linux 2 下安装更现代的 wget?

Amazon Linux 1 上的“repoquery -i wget”:

Name        : wget
Version     : 1.18
Release     : 5.30.amzn1
Architecture: x86_64
Size        : 2497696
Packager    : Amazon.com, Inc. <http://aws.amazon.com>
Group       : Applications/Internet
URL         : http://www.gnu.org/software/wget/
Repository  : amzn-updates
Summary     : A utility for retrieving files using the HTTP or FTP protocols
Source      : wget-1.18-5.30.amzn1.src.rpm
Run Code Online (Sandbox Code Playgroud)

在 Amazon Linux 2 上:

Name        : …
Run Code Online (Sandbox Code Playgroud)

yum wget amazon-ec2 amazon-web-services amazon-linux-2

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

使用 Amazon Linux 2 在 Elastic Beanstalk 上输出 JSON 日志

我们正在尝试将我们的 Java 应用程序从当前的 Elastic Beanstalk JDK 8 平台迁移到在 Amazon Linux 2 上运行 Corretto 11 的新平台。该应用程序运行良好,但处理日志的方式发生了变化。Web 进程的输出现在存储在其中/var/log/web.stdout.log,每一行都以时间戳和进程名称为前缀,即:

May 20 17:00:00 ip-10-48-41-129 web: {"timestamp":"2020-05-20T17:00:00.035Z","message":"...","logger":"...","thread":"MessageBroker-2","level":"INFO"}
Run Code Online (Sandbox Code Playgroud)

我们怎样才能摆脱前缀?这些日志被流式传输到 CloudWatch,我们将它们以 JSON 格式输出到标准输出,以便我们稍后可以使用 Logs Insights 查询它们。但是使用前缀,Insights 不会“看到”JSON,只是将整行视为文本 blob。

我在 AWS 上找不到任何相关文档。几乎所有 Elastic Beanstalk 的文档都提到了 Amazon Linux 的第一个版本。

amazon-web-services elastic-beanstalk amazon-linux-2

5
推荐指数
2
解决办法
963
查看次数

在 Amazon Linux 2 上保存 iptables 防火墙规则

我在 AWS 的 EC2 实例上运行 Amazon Linux 2。我希望能够添加我自己的 iptables 规则,并让它们在重启后继续存在。

什么是正确的方式(或者一个正确的方法)来做到这一点?

iptables amazon-ec2 amazon-web-services amazon-linux-2

5
推荐指数
1
解决办法
5212
查看次数

如何在 amazonlinux2 上获取 node18?

我目前正在尝试在 amazoncorretto:11 基础映像上安装 node18。我收到错误

#6 11.04 Error: Package: 2:nodejs-18.16.0-1nodesource.x86_64 (nodesource)
#6 11.04            Requires: libc.so.6(GLIBC_2.28)(64bit)
#6 11.04 Error: Package: 2:nodejs-18.16.0-1nodesource.x86_64 (nodesource)
#6 11.04            Requires: libm.so.6(GLIBC_2.27)(64bit)
Run Code Online (Sandbox Code Playgroud)

此处描述: https: //github.com/nodesource/distributions/issues/1381

我想我需要将 glibc 更新到支持 node18 的版本,但这在 amazonlinux2 上可能吗?

node.js amazon-linux-2

5
推荐指数
1
解决办法
5220
查看次数

systemd/系统覆盖应该如何工作?

我正在摆弄一些超时设置,并试图找出为 systemd/系统守护进程设置内容的正确方法。具体来说,这是一个动力不足的服务器,并且我在启动 clamd 时总是超时,因此我试图弄清楚需要将 TimeoutStartSec 参数设置为多高。我试过

systemctl edit --full clamd@.service

并编辑它说

TimeoutStartSec=20min

然后做了systemctl daemon-reload

但7分钟后它就神秘地超时了。最终,我发现/usr/lib/systemd/system/clamd@.serviceTimeoutStartSec=420

可能违背了所有正确的做法,我编辑了/usr/lib文件的版本,并注释掉了该行。果然,这改变了事情,但它似乎仍然没有读取版本/etc/systemd。一旦我将其注释掉,它就会在 90 秒后开始超时,我想这一定是默认值。

作为临时解决方法,我已将/usr/lib版本编辑为我想要的 20 分钟,但是......这似乎不是正确的做事方式。

应该systemctl edit编辑版本吗/etc/systemd/system?这是公认的正确做事方式吗?我还需要做更多的事情吗systemctl daemon-reload

对有关正确方法的任何和所有建议持开放态度。

TIA

clamav systemd amazon-linux-2

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

Fail2Ban iptables 条目拒绝 HTTPS 不会停止对 Amazon Linux 2 上的 Docker 容器的请求

我已经在 Amazon Linux 2 上设置了 Fail2Ban,使用nginx-http-auth以下覆盖配置启用内置监狱:

[nginx-http-auth]
enabled = true
action = iptables[name=HTTPS, port=https, protocol=tcp]
logpath = <snip>/logs/*error*.log
findtime = 15m
bantime = 15m
maxretry = 5
Run Code Online (Sandbox Code Playgroud)

该操作正在触发,我收到以下条目iptables -S

-A f2b-HTTPS -s 120.<snip>.122/32 -j REJECT --reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)

但是,我可以继续从被禁止的 IP 发出新的 HTTPS 请求,这些请求正在接收来自 Nginx 的 401 响应。我从两个 IP 地址进行复制 - 我的手机和另一个 EC2 主机。

以下是完整输出iptables -L:(注意:Nginx 在 Docker 内部运行,另外两个与本地网络隔离的容器也是如此)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
f2b-HTTPS  tcp  --  anywhere             anywhere             tcp dpt:https

Chain …
Run Code Online (Sandbox Code Playgroud)

https iptables fail2ban docker amazon-linux-2

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