証明書管理サービスを使用すると、Apacheサーバーに証明書をダウンロードしてインストールできます。 このように、ApacheサーバーはHTTPS経由でアクセスできます。 このトピックでは、ApacheサーバーにSSL証明書をインストールする方法について説明します。

始める前に

  • 証明書が発行され、でダウンロードされます。 詳細については、「証明書をコンピューターにダウンロードする」をご参照ください。
  • Apacheサーバーのポート443が有効になっています。 ポート443は、HTTPSサービスのデフォルトポートです。
  • mod_ssl.soモジュールはApacheサーバーにインストールされています。 このモジュールは、SSL暗号化を有効にするために使用されます。

手順

重要 この例では、証明書名はdomain name、認証局 (CA) 証明書ファイル名はdomain name_public.crt、証明書チェーンファイル名はdomain name_chain.crt、証明書キーファイル名はdomain name.keyです。
  1. コンピューターにダウンロードしたApacheの証明書パッケージを解凍します。
    パッケージから次の3つのファイルが抽出されます。
    • CA証明書ファイル: a. crtファイル。
    • 証明書チェーンファイル: a. crtファイル。
    • 証明書キーファイル: a. キーファイル。
    証明書ファイル
    • 証明書の申請時にCSR生成[手動] または [既存のCSRの選択] を選択した場合、ダウンロードした証明書パッケージには キーファイル。

    • A. crt証明書ファイルはBase64-encoded PEMファイルです。 ファイル名の拡張子はに変更できます。あなたのビジネス要件に基づいてpem

  2. Apacheのインストールディレクトリにcertという名前のディレクトリを作成します。 次に、取得したCA証明書ファイル、証明書チェーンファイル、証明書キーファイルをcertディレクトリにコピーします。
    複数の証明書をインストールするには、Apacheのインストールディレクトリに必要な数のcertディレクトリを作成して、証明書を個別に保存します。
    証明書の申請時にCSR生成[手動] を選択した場合、手動で作成した証明書キーファイルをcertディレクトリにコピーし、証明書キーファイルの名前をdomain name.keyに変更します。
  3. httpd.conf設定ファイルを変更します。
    1. Apache/conf/ ディレクトリでhttpd.conf設定ファイルを見つけて開きます。
      Apache/conf/ ディレクトリは、Apacheのデフォルトのインストールディレクトリです。 別のディレクトリを使用する場合は、ファイルが格納されているディレクトリでhttpd.conf設定ファイルを見つける必要があります。
    2. httpd.conf設定ファイルで次のパラメーターを見つけ、次のコメントに基づいて設定します。
      # LoadModule ssl_module modules/mod_ssl.so# 行の先頭にある番号記号 (#) を削除してmod_ssl.soモジュールをロードし、SSLサービスを有効にします。 デフォルトでは、このモジュールはApacheサーバーでは無効になっています。 
      # conf/extra/httpd-ssl.confを含める# 行の先頭にある番号記号 (#) を削除します。                  
      httpd.conf設定ファイルに上記のパラメーターが見つからない場合は、Apacheサーバーにmod_ssl.soモジュールがインストールされているかどうかを確認してください。 yum install -y mod_sslコマンドを実行して、mod_ssl.soモジュールをインストールできます。
    3. httpd.conf設定ファイルを保存して終了します。
  4. httpd-ssl.conf設定ファイルを変更します。
    1. Apache/conf/extra/ ディレクトリでhttpd-ssl.conf設定ファイルを見つけて開きます。
      構成ファイルが格納されるディレクトリは、オペレーティングシステムによって異なります。 http-ssl.conf設定ファイルは、conf.d/ssl.confディレクトリに格納できます。
    2. httpd-ssl.conf設定ファイルで次のパラメーターを見つけ、次のコメントに基づいて設定します。
      <VirtualHost *:443>     
          ServerName# 証明書を申請するときに追加するドメイン名にServerNameを設定します。                  
          DocumentRoot /data/www/hbappserver/public          
          SSLEngine on   
          SSLProtocol all -SSLv2 -SSLv3# サポートされているSSLプロトコルを追加し、安全でないプロトコルを削除します。 
          SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!NULL:!DH:!EDH:!EXP:+ MEDIUM# 暗号スイートを変更します。 
          SSLHonorCipherOrder on
          SSLCertificateFile cert/domain name1_public.crt# domain name1_public.crtをCA証明書ファイルの名前に置き換えます。 
          SSLCertificateKeyFile cert/domain name1.key# domain name1.keyを証明書キーファイルの名前に置き換えます。 
          SSLCertificateChainFile cert/domain name1_chain.crt# domain name1_chain.crtを証明書チェーンファイルの名前に置き換えます。 名前が番号記号 (#) で始まる場合は、番号記号を削除します。 
      </VirtualHost>
      
      # 証明書に複数のドメイン名が含まれている場合は、上記のパラメーターをコピーし、ServerNameを別のドメイン名に設定します。  
      <VirtualHost *:443>     
          ServerName# 証明書を申請するときに追加する別のドメイン名にServerNameを設定します。                     
          DocumentRoot /data/www/hbappserver/public          
          SSLEngine on   
          SSLProtocol all -SSLv2 -SSLv3# サポートされているSSLプロトコルを追加し、安全でないプロトコルを削除します。 
          SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!NULL:!DH:!EDH:!EXP:+ MEDIUM# 暗号スイートを変更します。 
          SSLHonorCipherOrder on
          SSLCertificateFile cert/domain name2_public.crt# ドメインname2を、証明書の申請時に追加する別のドメイン名に置き換えます。 
          SSLCertificateKeyFile cert/domain name2.key# ドメインname2を、証明書の申請時に追加する別のドメイン名に置き換えます。 
          SSLCertificateChainFile cert/domain name2_chain.crt# ドメインname2を、証明書の申請時に追加する別のドメイン名に置き換えます。 名前が番号記号 (#) で始まる場合は、番号記号を削除します。 
      </VirtualHost>
      重要 ブラウザのバージョンがサーバー名表示 (SNI) をサポートしているかどうかを確認します。 ブラウザのバージョンがSNIをサポートしていない場合、マルチドメイン証明書の設定は有効になりません。
    3. httpd-ssl.conf設定ファイルを保存して終了します。
  5. オプション:httpd.conf設定ファイルを変更して、HTTPリクエストからHTTPSリクエストへの自動リダイレクトを設定します。

    httpd.conf設定ファイルの <VirtualHost *:80> </VirtualHost> に次のリダイレクションコードを追加します。

    RewriteEngine on
    RewriteCond %{SERVER_PORT} ! ^ 443 $
    RewriteRule ^(.*)$ https:// %{SERVER_NAME}$1 [L,R]
  6. Apacheサーバーを再起動してSSL設定を有効にします。
    Apacheのbinディレクトリで次のコマンドを実行します。
    1. apachectl -k stopコマンドを実行し、Apacheサービスを停止します。
    2. apachectl -k startコマンドを実行し、Apacheサービスを開始します。

次の手順