Closed3
Cloud RunからPrismaを使ってPlanetScaleに接続しようしたときに発生したTLSエラーについて
Cloud RunにデプロイしたNext.jsのAPI RoutesでPlanetScaleへ接続しようとしたところ以下のようなエラーが発生した。
PrismaClientInitializationError:
Invalid `prisma.user.findUnique()` invocation:
Error querying the database: Server error: `ERROR HY000 (1105): unknown error: Code: UNAVAILABLE
server does not allow insecure connections, client must use SSL/TLS
解決策
Dockerイメージでca-certificates
をインストールし、実行環境で/etc/ssl/certs/ca-certificates.crt
を参照できるようにしたところ解決した。
FROM node:18.12 AS builder
+ RUN apt-get update && apt-get install -y ca-certificates
WORKDIR /app
COPY package.json ./
COPY yarn.lock ./
RUN yarn install --frozen-lockfile
COPY . .
RUN npx prisma generate
RUN yarn build
FROM node:18.12-slim AS runner
WORKDIR /app
COPY /app/public ./public
COPY /app/.next/static ./.next/static
COPY /app/.next/standalone ./
+ COPY /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
CMD ["node", "server.js"]
いつも勉強になる情報をありがとうございます!DATABASE_URL の末尾に ?sslaccept=strict
を付ければ解決できるかもしれないと思いましたがそれとは原因が異なるようですね。同じような状況で困った時に参考にさせてもらいます。
コメントありがとうございます!
?sslaccept=strict
をつけたDATABASE_URLでエラーが発生したので今回の原因は異なるみたいですね。
このスクラップは2023/01/06にクローズされました