2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google App Engine(GAE)とCloudflareを使ったカスタムドメイン設定で、「Error 525 SSL handshake failed」を解決する方法

Last updated at Posted at 2020-03-28

Next.jsで制作したアプリケーションをデプロイし、カスタムドメイン設定を行ったところ少々躓いたのでメモを残しておきます。

何を実現したかったのか

Google App EngineにNext.jsでビルドしたアプリケーションをデプロイしてカスタムドメインを設定したかった。Cloudflareを用いてSSL化を実現したかった。

例: https://exmaple.com/ を叩くとGoogle App Engineにデプロイされたアプリケーションが動くようにしたかった。

何が起こったのか。

d70194c7424e7a2d8a98447f67ac1a04.png

GAE側のカスタムドメインで指定されたDNSレコードをCloudflareで設定して、 https://example.com/ にアクセスしたところ、上記のような表示がされました。

Error 525
SSL handshake failed

これを解決するためには、Cloudflare側で発行元専用(今回はGAE用)にSSL証明書を発行する必要がありました。

Cloudflareで配信元証明書を発行する

ec797e966676321927a9ab35118be5d5.png

Cloudflareのサイトにアクセスをして、
「SSL/TLS」→「配信元サーバー」→「証明書を作成」
をクリックします。

c96d93c2584f20d9729be6e9ca278d87.png

「配信元証明書のインストール」というモーダルが出現します。

「CloudflareにプライベートキーとCSRを作成させます」を選択し、「RSA」をプライベートキーの種類として指定します。

「次へ」をクリックします。

651e4ecee1dea5c2ec1781d86d166fe9.png

「配信元証明書のインストール」という画面に切り替わります。
※「キーフォーマット」は変更せず、「PEM」のままにしておきましょう。

発行された「配信元証明書」と「プライベートキー」を使用するために、先の作業に進みましょう。

秘密鍵をGAEで使えるようにする

31c807672a6aec6f71a7cc5837b91ecc.png

Cloudflareから発行された「プライベートキー」はそのまま使用することができません。
(上記のように「選択した秘密鍵は有効ではないようです。」と注意書きが表示されてしまいます...)

これを回避するためには、OpenSSLのコマンドを使用して変換する必要があります。

秘密鍵を変換する

Cloudflareから発行された「プライベートキー」を秀丸等で新規ファイルを作成します。保存名は何でも良いですが、今回は「example.com.key」としました。

そして、OpenSSLコマンドを実行しましょう。

openssl rsa -in example.com.key -out example.com.nopass.key

実行すると「example.com.nopass.key」というキーファイルが出現します。
ここまで来れば準備は完了です。

GAEに証明書を設定する

c9c674272224d3b8b79b0142f383c83e.png

Google App Engineのページへアクセスし、「設定」→「SSL証明書」→「新しい証明書をアップロード」をクリックします。

7e07ea06902a91a6592c97e3e7cac453.png

「PEM でエンコードされた X.509 公開鍵証明書」にはCloudflareから発行された「配信元証明書」を貼り付けします。

「復号化された PEM でエンコードされた RSA 秘密鍵」にはOpenSSLで変換したキーの中身(秀丸等で開けます)を貼り付けします。

「アップロード」を押して証明書を追加します。

証明書を適用する

a592b49897e8047b96c359394fb4d621.png

対象のカスタムドメインを選択して「保存」をクリックします。

確認して完了!

それではサイトにアクセスしてみましょう。
正しく設定できていれば、5分以内には表示されるはずです。

※いつになっても問題解決できなければ、一度シークレットウィンドウでアクセスしてみると良いかもしれません。キャッシュが原因かも?

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?