我创建了一个用于演示的小类,它在特定端口上向rabbitmq发送一条消息:
class RabbitMqPublisher
{
private IAdvancedBus _advancedBus;
public RabbitMqPublisher()
{
_advancedBus = RabbitHutch.CreateBus("host=rabbitmq-server:5672;virtualHost=/;username=user;password=pass").Advanced;
}
public void PublishMessage(string message)
{
var routingKey = "SimpleMessage";
// declare some objects
var queue = _advancedBus.QueueDeclare("TestQueue.SimpleMessage");
var exchange = _advancedBus.ExchangeDeclare("TestExchange.SimpleMessage", ExchangeType.Direct);
var binding = _advancedBus.Bind(exchange, queue, routingKey);
_advancedBus.Publish(exchange, routingKey, true, new Message<string>(message));
}
}
在本例中,RabbitMQ服务器等待消息的端口是5672。除此之外,我的问题是,客户端使用什么端口发送此消息,是否可以配置它?
1条答案
按热度按时间gopyfrb31#
15672来自HTTP API客户端
端口访问
防火墙和其他安全工具可能会阻止RabbitMQ绑定到端口。如果发生这种情况,RabbitMQ将无法启动。请确保以下端口可以打开:
4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务
5672、5671:由不带和带TLS的AMQP 0-9-1和1.0客户端使用
25672:Erlang分发用于节点间和CLI工具通信,从动态范围分配(默认限制为单个端口,按AMQP端口+20000计算),详见组网指南。
15672:HTTP API客户端和rabbitmqadmin(仅当启用管理插件时)
61613、61614:不带和带TLS的STOMP客户端(仅当启用STOMP插件时)
1883、8883:(如果启用了MQTT插件,则不带和带TLS的MQTT客户端
15674:STOMP-over-WebSockets客户端(仅当启用Web STOMP插件时)
15675:MQTT-over-WebSockets客户端(仅当启用Web MQTT插件时)
参考文件:https://www.rabbitmq.com/install-windows-manual.html