Подключение к CloudSQL через SSL с помощью Sequelize - PullRequest
0 голосов
/ 15 мая 2019

Мне нужно подключить приложение узла js, работающее на Lambda, к базе данных PSQL в Google Cloud SQL.

Приложение node js использует Sequelize, и у меня возникают проблемы с поиском каких-либо указаний о том, как представить информацию SSL о sequelize.

Это то, что Cloud SQL хочет, чтобы я указал:

  psql "sslmode=verify-ca sslrootcert=server-ca.pem \
      sslcert=client-cert.pem sslkey=client-key.pem \
      hostaddr=[HOST ID] \
      port=5432 \
      user=postgres dbname=postgres"

Это то, что у меня есть в настоящее время в приложении узла js, время которого истекает:

const sequelize = new Sequelize(
  'postgres',
  'postgres',
  'password',
  {
    host: '[HOST ID]',
    dialect: 'postgres',
    dialectOptions: {
      ssl: {
        key: cKey,
        cert: cCert,
        ca: cCA,
      }
    }
  },
);

Это сообщение об ошибке, которое я получаю:

Unhandled rejection SequelizeConnectionError: connect ETIMEDOUT 35.232.250.60:5432
    at connection.connect.err (/Users/stephanielee/Desktop/blag/dist/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:154:24)
    at Connection.connectingErrorHandler (/Users/stephanielee/Desktop/blag/dist/node_modules/pg/lib/client.js:174:14)
    at Connection.emit (events.js:182:13)
    at Connection.EventEmitter.emit (domain.js:442:20)
    at Socket.reportStreamError (/Users/stephanielee/Desktop/blag/dist/node_modules/pg/lib/connection.js:72:10)
    at Socket.emit (events.js:182:13)
    at Socket.EventEmitter.emit (domain.js:442:20)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
...