Hello!
I am running IBM MQ Server (v9.1.4) on one node using Linux CentOS, which sits behind load balancer. I have one queue manager installed with couple of queues and channels. Also have SVRCONN channel for our Java client, what consumes messages from different queues.
For our Java client, I created local user and password. Qmgr is using CONNAUTH, what i configured and everything seems to be working.
Now I am trying to set up node number two with IBM MQ Server (v9.2.0). But the same configuration doesnt seem to work. I added the same user and password. Altered qmgr to use the same CONNAUTH with same parameters that older version has.
If I send traffic from load balancer to IBM MQ server (v9.2.0), I am getting errors that authentication failed.
From logs:
AMQ5534E: User ID 'xxxx' authentication failed
EXPLANATION:
The user ID and password supplied by the 'xxxx' program could not be
authenticated.
Additional information: 'Pipe returned 2035 [FAILED]'.
AMQ5542I: The failed authentication check was caused by the queue manager
CONNAUTH CHCKCLNT(REQUIRED) configuration.
EXPLANATION:
The user ID 'xxxx' and its password were checked because the queue
manager connection authority (CONNAUTH) configuration refers to an
authentication information (AUTHINFO) object named 'USE.PW' with
CHCKCLNT(REQUIRED)
Meanwhile, the Java client gets the error, which is ofcourse:
JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED')
Here is my queue manager CONNAUTH and AUTHINFO:
CONNAUTH:
AMQ8408I: Display Queue Manager details.
QMNAME(xxx_xxx) CONNAUTH(USE.PW)
AUTHINFO:
AMQ8566I: Display authentication information details.
AUTHINFO(USE.PW) AUTHTYPE(IDPWOS)
ADOPTCTX(YES) DESCR( )
CHCKCLNT(REQUIRED) CHCKLOCL(OPTIONAL)
FAILDLAY(10) AUTHENMD(OS)
ALTDATE(2021-01-18) ALTTIME(15.01.21)
If I set CHCKCLNT to NONE, Java client is able to connect and get the messages.
I have also tried with sample programs (amqsputc, amqsgetc). With the default AUTHINFO (SYSTEM.DEFAULT.AUTHINFO.IDPWOS) I am able to connect/consume but with my own (USE.PW), which has the same parameters, I am not.
Am I missing something here? What am I doing right on node number one and wrong on node number two?
Thanks!
------------------------------
Kristjan Voolaid
------------------------------