Gitlab PagesでSSLが取得されない場合の原因と解決策
公開日: 2020.1.17
Gitlab Pagesには、自動でLet's EncryptのSSLを取得する機能がありますが、いつまでたっても「取得中」となってSSL化されないことがあります。今回はその原因と対策をまとめました。
現象
Gitlab Pagesでは、ページを公開する際にドメインを登録することで、指定ドメインのSSL証明書を自動で取得する機能があります。
しかし、ドメインの認証もできていてDNSも正しく設定されているのに、SSLがいつまで経っても登録されないことが結構な確率であります。しかも、ここは、Gitlab側で管理しているところなので、こちらで制御できないのが辛いところです。
原因
確実な原因はわかりませんが、海外フォーラムのやりとりと、筆者の体験から推測すると、
- レポジトリがプライベートになっている(初期でPageesが非公開)
- ドメインを追加した際にページがアクセスできない
- Cloudflareなどのプロキシを挟んでいる
という場合に、よく取得ができない気がします。あくまで体感ですが。
解決策
Gitlab側にLet's Encryptの取得ログを表示する機能があれば自分でも対処ができるのですが、そうした機能がないため、やれることはあまりません。
筆者が試した中で確実にSSLの取得ができたのは、
- すでにドメインは認証してHTTPでは表示できる
- Gitlab Pagesは公開ステータスで、ログインしないでも閲覧できる
という状況下で、「一度ドメインを削除して、もう一度登録する」というフローです。
解決策になっているのかは微妙ですが、このフローだとほぼ100%の確率で、数時間、早ければ10分ほどでSSLの取得がされます。
Gitlab PagesでSSLが取得されない場合の原因と対応まとめでした。
Let's Encryptは、サーバー上に一時ファイルを置いてそこにアクセスすることでサーバーの存在を認証しているので、非公開だったり、ドメイン転送がされていない場合に証明書の作成に失敗するというのは理解できるので、「ドメインを再登録する」という解決策はある意味当たり前です。
同じ状況で困っている方はぜひお試しください!
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
サーバレス複数サイト運営をする際の無料サーバー使いこなし術 2022.9.5
サーバレスHerokuの無料プランが終了へ。移行するならどこがいい? 2022.8.26
サーバレスCloudflare Pages Functionsをローカルでテストする方法 2022.8.12
サーバレスCloudfalre Pagesでリダイレクトを使う方法 2022.8.11
サーバレスCloudflare WorkersとCloudflare Pages Functionの違いと使い分け 2022.8.10
サーバレスCloudinaryの自分のデータを自動でバックアップさせる方法 2022.8.1
サーバレスいまさら聞けないレンタルサーバーとHerokuの違い 2022.5.10
サーバレスCloudflare Pagesでアクセス制限を実装する 2022.4.26