首页 > 解决方案 > (EAI 2)名称或服务未知:mod_unique_id:无法找到“ae537564806a”的 IPv4 地址

问题描述

我在 ECS 的单任务定义中有两个容器定义。一个是我的 Apache Web 服务器配置为负载均衡器,另一个是我在它后面运行的 spring-boot 微服务。

该配置使用 ECS EC2 模型。现在我正在尝试将其迁移到 ECS fargate。这里的问题是 Apache 没有启动(实际上任务确实启动了一段时间并以退出代码 1 停止。对于微服务,退出代码是 137。

日志如下:

2018-05-08 17:11:43 Configuration Failed
2018-05-08 17:11:43 [Tue May 08 11:41:43 2018] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "3cb0470d9ae4"
2018-05-08 17:11:43 httpd: apr_sockaddr_info_get() failed for 3cb0470d9ae4
2018-05-08 17:11:43 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
2018-05-08 17:11:43 Ready to run httpd-foreground from: /root
2018-05-08 17:11:43 httpd (no pid file) not running
2018-05-08 17:11:43 httpd: apr_sockaddr_info_get() failed for 3cb0470d9ae4
2018-05-08 17:11:43 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

我发现了一些类似的问题,指向将您的 IP 地址添加到 /etc/hosts 文件。在 Fargate 的情况下,资源分配是动态的,那么有什么办法可以解决这个问题。

标签: apacheaws-ecsaws-fargate

解决方案


问题出mod_unique_id在 httpd.conf 中加载的模块上。我已禁用该模块,httpd.conf如下所示:

#LoadModule unique_id_module modules/mod_unique_id.so

之后,apache 成功启动,没有任何问题。AWS fargate 似乎不支持模块功能。


推荐阅读