Configuración de la validación de nombre de host para conexiones a grupos alternativos

El parámetro de configuración alternategroup Data Server Driver especifica grupos alternativos que un Db2 cliente puede utilizar como mecanismo adicional de conmutación por error para la conexión inicial y las conexiones existentes.

Si hay servidores alternativos en la memoria caché para un grupo determinado en el archivo srvrlst.xml , se añaden como servidores alternativos a este grupo. El host representativo de cada grupo alternativo siempre se añade como un servidor alternativo al grupo respectivo, para asegurarse de que siempre haya al menos un servidor alternativo para un grupo alternativo determinado.

Al conectarse a uno de los servidores alternativos en un grupo alternativo, la validación de nombre de host es satisfactoria si el certificado de servidor coincide con uno de los siguientes:
  • El nombre de host que representa el grupo alternativo tal como se especifica en el parámetro alternategroup
  • El nombre de host del servidor alternativo tal como se especifica en la lista de servidores devuelta por el servidor

Por ejemplo, en el siguiente db2dsdriver.cfg, tenemos un grupo alternativo representado por abc.db2.example.com. Supongamos que un cliente se conecta a él porque el host del grupo primario, xyz.db2.example.com, está inactivo. Para este ejemplo, supongamos que abc.db2.example.com devuelve una lista de servidores (abc.db2.example.com y pqr.db2.example.com) que está asociada con el grupo alternativo.

Cuando el cliente redirecciona a pqr.db2.example.com porque el host de grupo alternativo configurado, abc.db2.example.com, está inactivo, la validación del nombre de host sólo se realiza correctamente si el nombre de host del certificado devuelto del servidor coincide con el nombre de host de grupo alternativo configurado en el cliente, abc.db2.example.com, o el nombre de host de la lista de servidores que se devuelve al cliente (pqr.db2.example.com)
<configuration>
  <dsncollection>
    <dsn alias="test" name="testdb" host="xyz.db2.example.com" port="1234"/>
  </dsncollection>
<databases>

  <database name="testdb" host="xyz.db2.example.com" port="1234">
   <wlb>
    <parameter name="enableWLB" value="true" />
   </wlb>
     <acr>

     <alternategroup>
       <parameter name="enableAlternateGroupSeamlessACR" value="true"/>
       <database name="testdb" host="abc.db2.example.com" port="1234">
       </database>
     </alternategroup>

       <parameter name="acrRetryInterval" value="1" />
       <parameter name="enableACR" value="true" />
       <parameter name="enableseamlessACR" value="true" />
       <parameter name="maxAcrRetries" value="3" />
     </acr>

     <parameter name="TcpipConnectTimeout" value="1" />
     <parameter name="keepAliveTimeout" value="10" />
  </database>
</databases>
</configuration>