Первая часть перед оператором точки в имени хоста службы PostgreSQL не проверяется облачной службой IBM PostgreSQL. - PullRequest
0 голосов
/ 13 июля 2020

У нас есть экземпляр IBM Cloud PostgreSQL. Мы подключаемся к нему с помощью клиента node- postgres или клиента odb c с драйвером Data Direct. Насколько мы понимаем, экземпляр службы PostgreSQL должен выдавать ошибку при предоставлении неправильного хоста при подключении. Однако экземпляр не выдает никаких ошибок при предоставлении неправильного хоста (неверное значение для первой части строки хоста перед оператором точки).

Действия по воспроизведению проблемы

  1. Создать Экземпляр IBM Cloud PostgreSQL. Ниже приведен формат строки хоста <<1st part of host>>.<<2nd part of host>>.databases.appdomain.cloud
  2. Подключиться к экземпляру с помощью клиента узла с помощью клиента node- postgres или клиента odb c с драйвером Data Direct с неправильным значением для первой части (<<1st part of host>> ) хоста.
  3. Он успешно подключится без каких-либо проблем. Если мы предоставим неверное значение (<<2nd part of host>>.databases.appdomain.cloud) для оставшейся части, это вызовет ошибку.

Используется нижеприведенный фрагмент кода для проверки этого сценария:

const pg = require('pg')
const connectionString = 'postgres://user:password@<<1st part of host>>.<<2nd part of host>>.databases.appdomain.cloud:31974/ibmclouddb?sslmode=verify-full'
const caCert = 'Self Signed CA Certificate'
const client = new pg.Client(
  {
    connectionString: connectionString,
    ssl: {
      ca: caCert,
      rejectUnauthorized: false
    }
  }
)
client.connect()
client.query('select * from test_pg.char_test4').then(res => {
  console.log('res.rows :::::: ', res)
}).finally(() => client.end())
...