2.16. SSL の問題のトラブルシューティング

本セクションでは、Secure Sockets Layer/Transport Layer Security (SSL/TLS) に関する問題の解決方法について説明します。

2.16.1. 信頼済み証明書のインストール

自己署名 SSL 証明書に関連する問題が発生している場合、本セクションで説明されているようにリモートホスト証明書をダウンロードして使用することができます。典型的なエラーの例としては、SSL certificate problem: self signed certificate または self signed certificate in certificate chain などがあります。

手順

  1. openssl を使用して、リモートホストの証明書をダウンロードします。以下に例を示します。

    $ echo | openssl s_client -showcerts -servername self-signed.badssl.com -connect self-signed.badssl.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > self-signed-cert.pem
  2. curl を使用して、証明書が正常に機能していることを確認します。以下に例を示します。

    $ SSL_CERT_FILE=self-signed-cert.pem curl -v https://self-signed.badssl.com

    証明書が正しく機能している場合は、SSL エラーが表示されることはなくなります。

  3. 3scale コマンドに SSL_CERT_FILE 環境変数を追加します。以下に例を示します。

    $ docker run --env "SSL_CERT_FILE=/tmp/self-signed-cert.pem" -v $PWD/self-signed-cert.pem:/tmp/self-signed-cert.pem egistry.redhat.io/3scale-amp2/toolbox-rhel7:3scale2.7 3scale service list https://{ACCESS_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}

    この例では、Docker ボリュームを使用して、証明書ファイルをコンテナーにマウントします。これは、このファイルが現在の $PWD フォルダーにあるあることを前提としています。

    これ以外に、ベースイメージとして 3scale toolbox イメージを使用して専用の toolbox イメージを作成し、独自の信頼済み証明書ストアをインストールするアプローチもあります。

関連情報