node.js - 使用 Sequelize 通过 SSL 连接到 CloudSQL
问题描述
我需要将 Lambda 上的节点 js 应用程序连接到 Google Cloud SQL 中的 PSQL 数据库。
节点 js 应用程序使用 Sequelize,我无法找到有关如何在 sequelize 上呈现 SSL 信息的任何指导。
这就是 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)
解决方案
推荐阅读
- python - 有没有办法让进程的pid开始使用批处理文件?
- laravel - Webpack Laravel-Mix Chunk 错误类型错误:“e[r] 未定义”
- javascript - Javascript 中的 [[Scopes]] 和 [[Scope]] 有什么区别?
- php - 使用 ppk、rsa、pkcs8 进行 PHP 身份验证
- python - 将多列覆盖为一列 Pandas
- angular - 无法导入角材料
- matlab - 创建具有 N-4 行和 N-2 列的矩阵
- angular - 角度翻译:如何翻译数据表搜索和分页
- python - 数据抓取 - 字段值 - 问题
- pandas - 用列替换数据框的索引