😊

CloudRun上でGoのDocker Imageがcertificate signed by unknown authority

2024/01/01に公開

記事の内容

CloudRun上で、Goで動作するAPIを構築中、Firebase Authとの連携処理が401エラーを出して正常にできなかった。

そのため、エラーログを確認すると、以下のログを発見

tls: failed to verify certificate: x509: certificate signed by unknown authority

この記事では、このエラーの解消法を紹介します。

記事の長さ

1分で読めます

原因

Dockerfileに原因がありました。

Dockerfile

FROM golang:1.21.3-bullseye as builder

...

# ---------------------------------------------------

FROM debian:bullseye-slim as deploy

...

# ---------------------------------------------------

FROM golang:1.21.3 as dev

このようなDockerfileを利用しているのですが、deploy環境で利用している軽量Docker Imageでtls通信をするために必要なパッケージが含まれておらず、ローカル環境からFirebase Authには接続できるが、deployステージのDocker ContainerからはFirebase Authと正常にやり取りができなくなりました。

対応

RUN apt-get install -y ca-certificates openssl

この行をdeployステージに追加して、ca-certificatesを本番Docker Imageでも使用できるようにしました。

その結果、正常にFirebase Authが動作するようになりました。

note

勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。

https://note.com/ring_belle/membership

Discussion