IBM Cloud Docs
连接外部应用程序

连接外部应用程序

应用程序和驱动程序使用连接字符串来建立与 IBM Cloud® Messages for RabbitMQ的连接。 您的部署具有专门用于驱动程序,客户机和应用程序的连接字符串。 连接字符串将显示在部署的“概述”的“端点”面板中,并且还可以从 Cloud Databases CLI 插件Cloud Databases API 中检索。

连接字符串可由您在部署上创建的任何凭证使用。 虽然您可以将管理用户用于所有连接和应用程序,但最好专门为要连接的应用程序创建用户。 有关更多信息,请参阅 创建用户和获取连接字符串

使用语言驱动程序进行连接

驱动程序与部署建立连接所需的信息位于连接字符串的 amqps 部分中。 该表包含供参考的细目。

表 1. RabbitMQ/uri 连接信息
字段名称 索引 描述
Type 连接类型-对于 RabbitMQ,它是 uri
Scheme URI 的方案-对于 RabbitMQ,它是 amqps
Path URI 的路径
Authentication Username 用于连接的用户名。
Authentication Password 用户的密码-可能显示为 $PASSWORD
Authentication Method 如何进行认证;“直接”认证由驱动程序处理。
Hosts 0... 要连接到的主机名和端口
Composed 0... 组合方案,认证,主机和路径的 URI
Certificate Name 用于数据库部署的自签名证书的已分配名称
Certificate Base64 证书的 base64 编码版本。
  • 0... 指示数组中可能有一个或多个这些条目。

当给定在连接信息的“组合”字段中找到 URI 格式的连接字符串时,许多 RabbitMQ 驱动程序能够与您的部署建立连接。 例如

amqps://$USERNAME:$PASSWORD@f08da56c-f975-4cad-98a5-633b8b5a8e79.974350db55ab4ec0983f023940bf637f.databases.appdomain.cloud:30402

以下是一些常见的 RabbitMQ 驱动程序:

使用 STOMP 客户机进行连接

STOMP 客户机与部署建立连接所需的信息位于连接字符串的 stomp_ssl 部分中。 下表列出了供参考的细目。

表 2. RabbitMQ/stomp_ssl 连接信息
字段名称 索引 描述
Type 连接类型-对于 STOMP,它是 stomp
Authentication Username 用于连接的用户名。
Authentication Password 用户的密码-可能显示为 $PASSWORD
Authentication Method 如何进行认证;“直接”认证由客户机处理。
Hosts 0... 要连接的主机名和支持 STOMP 的端口以及协议名称 "stomp-ssl"
Composed 0... 用于组合认证,主机和 TLS/SSL 的 URI
ssl 连接所需的 TLS/SSL 设置。 应该始终为 true
Certificate Name 用于数据库部署的自签名证书的已分配名称
Certificate Base64 证书的 base64 编码版本。
  • 0... 指示数组中可能有一个或多个这些条目。

使用 MQTT 客户机进行连接

MQTT 客户机用于连接的信息可以在连接字符串的 mqtts 部分中找到。 该表包含引用。

"mqtts" 部分包含 MQTT 客户机连接到部署所需的信息。

表 3. RabbitMQ/mqtts 连接信息
字段名称 索引 描述
Type 连接类型-对于 MQTTS,它是 uri
Scheme URI 的方案-在本例中为 mqtts
Authentication Username 用于连接的用户名。
Authentication Password 用户的密码-可能显示为 $PASSWORD
Authentication Method 如何进行认证;“直接”认证由驱动程序处理。
Hosts 0... 要连接到的主机名和端口。
Composed 0... 用于连接的组合认证,主机和端口的 URI。
Certificate Name 用于数据库部署的自签名证书的已分配名称
Certificate Base64 证书的 base64 编码版本。
  • 0... 指示数组中可能有一个或多个这些条目。

TLS 和自签名证书支持

与 Messages for RabbitMQ 的所有连接都已启用 TLS 1.2,因此用于连接的驱动程序或客户机需要能够支持加密。 您的部署还随附了自签名证书,因此驱动程序可以在连接时验证服务器。

有关更多信息,请参阅 Cloud Databases 证书常见问题

使用自签名证书

  1. 端点 面板或连接信息的 Base64 字段复制证书信息。
  2. 如果需要,将 Base64 字符串解码为文本。
  3. 将证书保存到文件。 (您可以使用提供的名称或您自己的文件名)。
  4. 向驱动程序或客户机提供证书的路径。
  5. (可选) 如果您的驱动程序或客户机支持该证书,那么可以将其 (或系统的) 证书库添加到该证书。

自签名证书的 CLI 插件支持

您可以使用命令 ibmcloud cdb deployment-cacert "your-service-name" 通过 CLI 插件显示用于部署的解码证书。 它将 base64 解码为文本。 将命令的输出复制并保存到文件中,并提供该文件的驱动程序或客户机路径。