在 EC2 Amazon Linux 实例(基于 Centos)中,我在 docker 容器中运行 RabbitMQ,并已将其配置为监听 0.0.0.0 上的 5672 和 15672 tcp 端口。此容器进程在 root 权限下运行。
当我测试该端口上是否有正在运行的进程时:
nc -z 127.0.0.1 5672
我得到了正确的输出。
但是,当我尝试在 ec2-user 下运行 Play Framework 时,Akka 在尝试连接到 127.0.0.1:5672 时挂起并超时
如果我在 root 权限下运行 Play Framework,一切都正常。
我是否需要添加任何防火墙规则以允许在 ec2-user 下运行的进程连接到在 root 下运行的进程?
答案1
不,你不必这么做。听起来你遇到了另一个问题,可能是你的 Play 框架分发中的权限问题。你可以尝试以下方法:
sudo chown -R ec2-user:ec2-user /whatever/dir/where/play/is
还检查为ec2-user
,而不是为root
:
nc -z 127.0.0.1 5672