【发布时间】:2018-06-12 12:38:06
【问题描述】:
我在 AMQP 上找到了关于它使用的端口的文档:
Azure 服务总线需要始终使用 TLS。它支持 TCP 端口 5671 上的连接,即 TCP 连接在进入 AMQP 协议握手之前首先覆盖 TLS,还支持 TCP 端口 5672 上的连接,服务器立即使用 AMQP 规定的模型提供强制升级到 TLS 的连接. AMQP WebSockets 绑定在 TCP 端口 443 上创建一个隧道,然后等效于 AMQP 5671 连接。
还有其他帖子中的更多细节:
它支持通过 TCP 端口 5671 和 TCP 端口 5672 的连接。服务器立即使用 AMQP 规定的模型提供强制升级到 TLS。 AMQP WebSockets 绑定在 TCP 端口 443 上创建一个隧道,然后等效于 AMQP 5671 连接。
我不太明白这两个端口之间有什么区别。两者都应该始终打开,或者它只是其中一个是必需的,另一个是一些后备,或者它取决于所使用的库。
附:我使用Microsoft.Azure.ServiceBus库连接
【问题讨论】:
-
最近有人提出了similar question。您不需要同时使用所有端口。如果你不能使用默认的 TCP,那么你就需要 WebSockets。也就是说,随着管理操作即将到达客户端,通信是通过 HTTPS 完成的。
-
我希望我们可以打开防火墙直接使用Amqp over tcp,但是我不太明白使用的两个端口之间的区别。您有什么想法或参考资料,我可以在其中阅读有关库如何使用这些端口的详细信息吗?看起来图书馆使用 5671,但另一个端口是什么_
-
据我所知,5671 用于 TCP,443 用于 websockets 和管理。
-
谢谢,我查看了库的代码,看来您是对的。虽然文档说 5672 至少在理论上可以用于某种其他类型的连接或其他东西。
-
您可以raise an issue 要求澄清文档。我一直在这样做,并且有一些帮助会很好:)
标签: port firewall amqp azureservicebus