ssl - 在 MQ 客户机上配置 SSL channel 连接

标签 ssl activemq ibm-mq mq

从安装了 MQ 客户端的 Linux 服务器,我们正在尝试建立与安全通道的连接。我是 ETL 人员,我们的 MQ 管理员正在苦苦挣扎。无论如何,我将解释我尝试过的方法(显然还没有奏效),任何人都请让我知道设置连接还需要做些什么。谢谢 :)

tmp/mqmutility/keyrepmodmq> ls
AMQCLCHL.TAB  key.kdb  key.rdb  key.sth  MODE_MODELTAP_DEV_keyStLst.txt

export MQSSLKEYR=/tmp/mqmutility/keyrepmodmq/key
export MQCHLLIB=/tmp/mqmutility/keyrepmodmq
export MQCHLTAB=AMQCLCHL.TAB

/opt/mqm/samp/bin> amqsputc <queue_name> <queue_manager_name>
Sample AMQSPUT0 start
MQCONN ended with reason code 2058

注意:我可以为非 SSL channel 连接到同一个队列管理器。 任何帮助都会非常有用,您从客户端计算机进行 SSL channel 连接所遵循的其他方法也会有所帮助。

最佳答案

当使用客户端 channel 定义表 (CCDT) 文件 - 您的 AMQCLCHL.TAB 文件时,返回代码 2058 通常意味着应用程序尝试使用的队列管理器名称 - 您的“queue_manager_name” - 在任何CCDT 文件中的 channel 条目。

如果你正在使用。 MQ V8 您可以使用以下命令非常轻松地显示 CCDT 文件中的条目以及为它们配置的队列管理器名称:

runmqsc -n

DISPLAY CHANNEL(*) QMNAME

如果您的文件中没有任何 channel 具有您在运行 amqsputc 示例时使用的队列管理器名称,那么这就是您的 2058 原因代码的原因。

希望当您看到文件中的条目列出您应该使用的队列管理器名称时,它会很清楚,但如果没有,请使用更多详细信息更新您的问题(例如所述文件的内容和队列管理器详细信息),我们可以进一步提供帮助。

您必须确保定义了一个 CLNTCONN channel ,该 channel 具有您要在 QMNAME 字段中使用的队列管理器名称,并且您在队列管理器上定义了一个匹配的命名 SVRCONN channel 。由于您使用的是 SSL,因此还必须确保这两个 channel 使用相同的 SSLCIPH。

请阅读Creating server-connection and client-connection definitions on the server这是 child 主题。

关于ssl - 在 MQ 客户机上配置 SSL channel 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37713199/

相关文章:

java - 队列或 REST API 是处理用户请求的更好方法吗?

java - 在ActiveMQ中向多个消费者发送消息

java - 通过Java代码关闭MQ channel

netbeans - Hornetq 和 IBM Websphere MQ 比较

redirect - Nginx 反向代理。 1个外部IP,2个本地服务器

security - 了解 SSL 证书类型

postgresql - Atomikos JTA 事务管理器 'Purging orphaned entry from log' 登录输出

spring - 单点对点队列和多个监听器

android - 从 Android 应用程序连接到受 SSL 保护的服务器

ssl - 设置配置了 SSL 的 Nginx 服务器