连接外部应用程序
应用程序和驱动程序使用连接字符串来建立与 IBM Cloud® Messages for RabbitMQ的连接。 您的部署具有专门用于驱动程序,客户机和应用程序的连接字符串。 连接字符串将显示在部署的“概述”的“端点”面板中,并且还可以从 Cloud Databases CLI 插件 和 Cloud Databases API 中检索。
连接字符串可由您在部署上创建的任何凭证使用。 虽然您可以将管理用户用于所有连接和应用程序,但最好专门为要连接的应用程序创建用户。 有关更多信息,请参阅 创建用户和获取连接字符串。
使用语言驱动程序进行连接
驱动程序与部署建立连接所需的信息位于连接字符串的 amqps
部分中。 该表包含供参考的细目。
字段名称 | 索引 | 描述 |
---|---|---|
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
部分中。 下表列出了供参考的细目。
字段名称 | 索引 | 描述 |
---|---|---|
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 客户机连接到部署所需的信息。
字段名称 | 索引 | 描述 |
---|---|---|
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 证书常见问题。
使用自签名证书
- 从 端点 面板或连接信息的 Base64 字段复制证书信息。
- 如果需要,将 Base64 字符串解码为文本。
- 将证书保存到文件。 (您可以使用提供的名称或您自己的文件名)。
- 向驱动程序或客户机提供证书的路径。
- (可选) 如果您的驱动程序或客户机支持该证书,那么可以将其 (或系统的) 证书库添加到该证书。
自签名证书的 CLI 插件支持
您可以使用命令 ibmcloud cdb deployment-cacert "your-service-name"
通过 CLI 插件显示用于部署的解码证书。 它将 base64 解码为文本。 将命令的输出复制并保存到文件中,并提供该文件的驱动程序或客户机路径。