我正在运行一个使用Google Cloud Postgresql示例的Sails.js应用程序。当我部署该应用程序时,收到一个连接被拒绝的错误。这是我的sailsjs连接配置:
postgresGoogle: {
adapter: 'sails-postgresql',
socketPath: '/cloudsql/' + process.env.INSTANCE_CONNECTION_NAME,
user: 'xxxxx',
password: 'xxxxx',
database: 'postgres'
}
如果我添加主机,它会抛出超时错误。有人知道用GCP postresql配置sailsjs连接的正确方法吗?
2条答案
按热度按时间svgewumm1#
您的Sails.js应用程序到底在哪里?它在App Engine Flex上吗?我建议部署到App Engine Flex,如here所述,然后从Flex环境连接到PostgreSQL。否则,您是否使用此链接中描述的任何连接步骤?
tp5buhyn2#
已解决
截至2022年12月16日...
今天我终于让Sails.js与GCP SQL一起工作了,如果你遵循Google的教程,你可以尝试Unix套接字或TCP选项--遗憾的是,这两个选项都不适用于开箱即用的sails-postgres。
我的解决方案是通过一个VPC连接器连接到一个专用的IP地址,这样我就可以使用一个普通的Postgres连接字符串直接连接到数据库。
https://cloud.google.com/appengine/docs/legacy/standard/python/outbound-ip-addresses
然后,我在Cloud SQL安全设置中将新的专用IP列入白名单,并强制SSL要求有效的SSL证书。
根据谷歌的文档,这可能不是目前最好的做法,但它是有效的。