gpt4 book ai didi

ubuntu - RabbitMQ On Ubuntu 14.04 服务器配置

转载 作者:行者123 更新时间:2023-12-04 18:34:28 25 4
gpt4 key购买 nike

我在 Amazon EC2 和另一家公司的另一个 VPS 上都遇到了这个问题,我无法从外部访问 rabbitmq 服务器以使用 5672 端口连接到服务器。在这两种情况下,命令:

telnet <ip> 5672

返回这个:
telnet: Unable to connect to remote host: Connection timed out

和使用 pika 库的 python 中简单的 hello world 代码示例:
 import pika


credentials = pika.PlainCredentials('admin', 'password')
connection = pika.BlockingConnection(pika.ConnectionParameters('<ip>', 5672, "/", credentials))
channel = connection.channel()

channel.queue_declare(queue='hello')

channel.basic_publish(exchange='',
routing_key='hello',
body='Hello World!')
print " [x] Sent 'Hello World!'"
connection.close()

抛出此异常:
No handlers could be found for logger "pika.adapters.base_connection"
Traceback (most recent call last):
File "/home/.../Send.py", line 7, in <module>
connection = pika.BlockingConnection(pika.ConnectionParameters('<ip>', 5672, "/", credentials))
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/base_connection.py", line 61, in __init__
File "/usr/local/lib/python2.7/dist-packages/pika/connection.py", line 513, in __init__
File "/usr/local/lib/python2.7/dist-packages/pika/connection.py", line 804, in _connect
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 138, in _adapter_connect
File "/usr/local/lib/python2.7/dist-packages/pika/adapters/base_connection.py", line 120, in _adapter_connect
pika.exceptions.AMQPConnectionError: 2.0

在 ec2 上,我在所有实例端口上的所有安全组上允许 TCP、ICMP、UDP(出于测试目的),并在 this tutorial 中进行了简单的安装。 ,
我可以在 ec2 上成功创建一个 rabbitmq 的两个节点集群,但是我无法从外部访问任何集群节点,关于允许访问所有端口,仍然是相同的 telnet 结果,我还启用了管理插件,发出:
wget <ip>:15672

在 ec2 实例上保存了一个 HTML 文件,这意味着管理插件正在工作并且可以从每个节点访问。我使用/etc/hosts 中的私有(private) IP 地址使节点在/etc/hosts 中找到彼此。

我决定在 ubuntu 14.04 vps 上安装一个简单的 rabbitmq 服务器,这次我的目的只是让访问成为可能,我所做的几乎就是解释了工作流程 in here并且一切都在本地服务器上运行,但仍然是一开始解释的相同问题。

禁用ubuntu防火墙
和 :
# ufw disable

并发出命令:
# iptables -F 

为了从发布任何问题中删除防火墙或 iptable 都没有帮助。
我想不出我应该进行任何额外的配置才能从外部访问rabbitmq服务器,知道吗?

谢谢。

这是我的 rabbitmq.config :
[
{kernel,
[{inet_dist_listen_min, 45000},
{inet_dist_listen_max, 45000}
]
}
].

在我的 ec2 安全配置中:
All ICMP 0.0.0.0/0 everywhere
ALL TCP 0.0.0.0/0 everywhere
ALL UDP 0.0.0.0/0 everywhere

和端口 22 上的 SSH。

更新和另一个场景:

我真的在为这个问题苦苦挣扎,为了更具体地记录我的问题,在单个 ubuntu 14.04 实例的情况下,我尝试从我的个人计算机访问 EC2 上的单个 rabbitmq 服务器实例,这一定不难:( 这里有更多可用于该案例的信息解释:

Ubuntu 14.04 ec2 实例安全组设置:
my ec2 security group configuration

我的 /etc/rabbitmq/rabbitmq-env.conf 文件 :
NODE_IP_ADDRESS=<instance private ip taken from ifconfig = 177.31.*.*>

我的 /etc/hosts 文件 :
127.0.0.1 localhost
172.31.*.* ip-172-31-*-*
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

我的 netstat -vpln命令输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 927/sshd
tcp 0 0 172.31.*.*:5672 0.0.0.0:* LISTEN 4662/beam
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 4662/beam
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 2089/epmd
tcp6 0 0 :::22 :::* LISTEN 927/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 501/dhclient
udp 0 0 0.0.0.0:45419 0.0.0.0:* 501/dhclient
udp6 0 0 :::61763 :::* 501/dhclient

但每当我从我的个人电脑上执行:
$ telnet <instance public IP >  5672

Trying 54.86.*.*
telnet: Unable to connect to remote host: Connection timed out

我设置了 NODE_IP_ADDRESS0.0.0.0仍然没有成功。
(我也将这个场景发布到 rabbitmq mailing list here )

最佳答案

好的。
我发现问题出在我的 VPN 上。就我而言,我在本地 ubuntu 机器上使用了 Kerio,在我退出 kerio 服务器的那一刻,我可以远程登录到我的服务器。

检查以下内容是一个很好的提示:
- 你的防火墙
-您的连接(在我的情况下,Kerio VPN 引起了问题)

关于ubuntu - RabbitMQ On Ubuntu 14.04 服务器配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com