【问题标题】:How to make an Azure Service Bus Node.js client connect via HTTPS (port 443), not port 5671?如何使 Azure 服务总线 Node.js 客户端通过 HTTPS(端口 443)而不是端口 5671 连接?
【发布时间】:2021-05-28 18:19:20
【问题描述】:

我们正在使用 @azure/service-bus 包来侦听 Node.js 应用程序中的 Azure 服务总线消息。不幸的是,默认端口 5671 在我们的环境中被阻止。

根据documentation 和this question,连接模式可以更改为 HTTPS(端口 443),至少从 .NET(可能还有 Java)可以这样:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Https;

我们如何在基于 Node.js 的应用程序中实现相同的功能?

【问题讨论】:

    标签: node.js azure azureservicebus


    【解决方案1】:

    对于https 支持,您需要使用WebSockets。尝试使用以下代码创建您的服务总线客户端:

    const connectionString = 'your service bus connection string';
    const connectionOptions = {
        webSocketOptions: {
            webSocket : WebSocket
        }
    };
    const serviceBusClient = new ServiceBusClient(connectionString, connectionOptions);
    

    现在您将使用 https 通过端口 443 连接到您的服务总线,而不是使用端口 5671 的 AMQP。

    更多详情请查看ServiceBusClientOptions和ServiceBusClient。

    【讨论】:

    • 就是这样,非常感谢!必须先 npm install ws 并添加 const WebSocket = require('ws'); 才能在 Node.js 中运行,但随后它就可以工作了!
    猜你喜欢
    • 1970-01-01
    • 2020-11-14
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2020-04-08
    • 1970-01-01
    相关资源
    最近更新 更多