云运行,是否可以连接SSL/TLS数据库服务器



我现在使用planetscale无服务器数据库服务器

我的主要网络服务器是由Cloud Run 构建的

https://planetscale.com/docs/concepts/secure-connections

他们正在无条件地强制ssl/tl。现在,我的云运行使用https。我还注册了一个域名。我还能使用行星级服务器吗?

他们告诉我在Linux上键入mysql--ssl mode=VERIFY_IDENTITY--ssl ca=/etc/ssl/certs/ca-certificates.crt。

然而,通过ssh连接到云运行是不可能的。这两种产品不兼容吗?没有工作机会?

我对这种网络基础设施非常薄弱,我只写代码,我真的需要帮助。

Error: Error in connector: Error querying the database: Error querying the database: Error querying the database: Server error: `ERROR HY000 (1105): unknown error: Code: UNAVAILABLE
server does not allow insecure connections, client must use SSL/TLS

---编辑

我的后端语言是NodeJS,它做的事情就像下面的

.ENV文件

DATABASE_URL='mysql://xxxxxx:*****@aws-eu-west-1.connect.psdb.cloud/dbName?ssl={"rejectUnauthorized":true}'

棱镜

datasource db {
provider = "mysql"
url = env("DATABASE_URL")
referentialIntegrity = "prisma"
}

await prisma.post.findMany({
take: 20,
skip: 0,
orderBy: { //...do query

它在localhost:8080上工作得很好,只有上传到Cloud Run后,它才会出现问题

.env文件上,您需要修改数据库url以附加以下内容:

&sslcert=/etc/ssl/certs/ca-certificates.crt

所以它看起来像:

DATABASE_URL='mysql://xxxxxx:*****@aws-eu-west-1.connect.psdb.cloud/dbName?ssl={"rejectUnauthorized":true}&sslcert=/etc/ssl/certs/ca-certificates.crt'

但是,当您在Cloud Run中运行代码时,为了使其发挥作用,在构建Docker映像时,您需要确保证书安装到/etc/ssl/certs或您想要使用的任何路径。

相关内容

  • 没有找到相关文章

最新更新