search
LoginSignup
2

More than 1 year has passed since last update.

posted at

[OCI] ロードバランサにSSL証明書を設定しHTTPS通信を試してみた

構成済みの OCI ロードバランサに無償のSSL証明書を追加し https 通信ができるか試してみます。

準備

SSL証明書を入手

Let's Encrypt で無料SSL証明書を使います。入手の手順については巻末の参考資料をご覧ください。ここでは入手時のトピックのみ記載します。
- certbotツールのパラメータ --domain にドメイン(例) lb.cocotaro.com)を指定
- TXTレコードの設定はDNSゾーンの画面から手動でおこないました。
image-20201218155359219.png
- 生成された4つのpemファイルから、今回は次の2つを使います。
- cert.pem SSL/TLS サーバ証明書 (公開鍵を含む)
- privkey.pem 秘密鍵

お試しの構成

  • 2つのWebアプリのフロントにロードバランサがあり、ブラウザからのリクエストをHTTP 80番ポートで受けてます。
  • ブラウザからリクエスト(例) lb.cocotaro.com)するとロードバランサでラウンドロビンされ2つのWebアプリで交互に処理されます。
  • ブラウザにはリクエストを処理したサーバーの名前(osaka01 or osaka02)が表示されます。 image-20201218155706733.png
  • 現状だとブラウザとロードバランサ間は単に HTTP通信なので、悪意のあるユーザーにパスワードやクレジットカード番号などの機密情報を盗まれる可能性があります。
  • そのためロードバランサにSSL証明書を設定し、ブラウザとロードバランサ間でHTTPS通信の暗号化をおこないます。安全な通信経路を確保し機密情報の解読を困難にします。

ロードバランサの設定

1. SSL証明書を追加

入手した SSL証明書と秘密鍵を設定します。構成済みのロードバランサを選択し、画面左のリソース から証明書をクリックし、[証明書の追加] でSSL証明書を設定します。
image-20201218161721498.png
[証明書名] 任意の名前を入力
SSL証明書
SSL証明書ファイルの選択 を選択し、 cert.pem(SSL証明書)を指定
秘密キーの指定 をチェックし、
秘密キー・ファイルの選択 を選択し、privkey.pem(秘密し ) を指定
上記設定後、証明書の追加 をクリックし、証明書が追加されました。
image-20201218164621209.png

2. リスナーの変更

続いて、リスナーを設定してSSLの使用を有効化します。画面左のリソース からリスナーをクリックし、既存のリスナーを選択し編集します。
image-20201218164838673.png
SSLの使用 をチェックし、ポート443 であること、
[証明書名] が先の証明書の追加(例 lb-ssl-cert)で入力した名前になっていることを確認し、
リスナーの更新 をクリックし、リスナーでSSLを使えるようにします。
image-20201218170200399.png

3. セキュリティリストにポート追加

最後にセキュリティリストのイングレス・ルールに80ポートに加えて、443ポートの許可を追加します。こちらの設定も忘れずに!!
image-20201218170436058.png

動作確認

それではブラウザからロードバランサへリクエスト(例) https://lb.cocotaro.com)します。ブラウザは Google Chrome を使用
image-20201218181620092.png

HTTPSでの動作が正常に処理されており、ブラウザのURL表示部に鍵マークが表示されました。鍵マークをクリックするとセキュアな接続が行われている旨のメッセージが表示され、証明書が有効になっていることが確認できました。
image-20201218181942337.png

参考URL

Oracle Cloud LoadBalancer を Let's Encrypt で無料SSL化

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
What you can do with signing up
2