スキップしてコンテンツを表示

Amazon EC2 Linux Ubuntu インスタンス上のウェブサイトに SSL/TLS 証明書をインストールする方法を教えてください。

所要時間2分
0

Apache サーバーをホストする Amazon Elastic Compute Cloud (Amazon EC2) の Ubuntu インスタンスに自己署名 SSL/TLS 証明書をインストールしたいと考えています。

解決策

前提条件: インスタンスのセキュリティグループでは、ポート 80 および 443 経由のトラフィックを許可する必要があります。

Apache および OpenSSL ウェブサーバーをインストールする

サーバーに Apache および OpenSSL をインストールするには、次のコマンドを実行します。

sudo apt-get install apache2 openssl -y

自己署名証明書を生成する

次の手順を実行します。

  1. SSL/TLS はパブリックキーとプライベートキーの両方を使用します。ドメインのプライベートキーと証明書署名リクエスト (CSR) を作成するには、次のコマンドを実行します。

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. SSL 証明書を生成するには、次のコマンドを実行します。

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

完了すると、キー (private.key) ファイルおよび証明書 (certificate.crt) ファイルを Apache ウェブサーバーで使用できます。

Apache で SSL/TLS を使用する設定を行う

Apache で作成した自己署名証明書を使用する設定を行うには、次の手順を実行します。

  1. 次のコマンドを実行し、Apache の SSL 設定ファイルを開きます。

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. 次のパスを使用して SSL 証明書の場所を定義します。
    SSLCertificateFile には /etc/ssl/private/certificate.crt を使用します。
    SSLCertificateKeyFile には /etc/ssl/private/private.key を使用します。

  3. ファイルを保存して閉じます。次に、以下のコマンドを実行して仮想ホストファイルを有効化します。

    sudo a2ensite default-ssl.conf
  4. Apache のデフォルト仮想ホスト設定ファイルを開くには、次のコマンドを実行します。

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. ドメイン名にリダイレクトを追加するには、etc/apache2/sites-available/000-default.conf ファイルに次の行を追加します。

    Redirect "/" https://Server-IP

    注: Server-IP をサーバーの IP アドレスに置き換えてください。上記の行は、DocumentRoot 行の後に入力することをおすすめします。リダイレクトにより、すべてのトラフィックがサイトの SSL/TLS バージョンに転送されます。

  6. SSL/TLS とヘッダーモジュールを有効にするには、次のコマンドを実行します。

    sudo a2enmod ssl
    sudo a2enmod headers
  7. 次のコマンドを実行すると、Apache サービスがリロードされ、変更が適用されます。

    sudo systemctl reload apache2

SSL/TLS サーバーを検証する

次の手順を実行します。

  1. Web ブラウザを起動します。
  2. https://Server-IP を開きます。
    注: Server-IP をサーバーの IP アドレスに置き換えてください。ウェブブラウザで警告ページへのリダイレクトが発生します。信頼された認証機関により、証明書への署名が行われていないため、この動作は想定動作です。
  3. [ホストに進む] を選択すると、Apache ホームページが開きます。ブラウザのアドレスバーに錠前および、「保護されていません」というメッセージが表示されます。この場合、証明書が検証されていないことを示していますが、接続は暗号化されています。

Red Hat Enterprise Linux (RHEL) または Community Enterprise Linux で SSL/TLS を設定する方法については、Red Hat のウェブサイトで「ウェブサーバーを設定し、HTTPS を使用する」を参照してください。または、Amazon Linux を使用する場合は、Amazon Linux 1 (AL1)Amazon Linux 2 (AL2)、または Amazon Linux 2023 (AL2023) 用の SSL/TLS 設定を参照してください。

AWS公式更新しました 4ヶ月前
コメントはありません

関連するコンテンツ