このドキュメントでは、Alibaba Cloud SSL Certificates コンソールから SSL 証明書をダウンロードして Nginx / Tengine サーバーにインストールする方法について説明します。

前提条件

証明書を申請するときに、 [自動] での CSR 生成を選択します。

この例では、証明書名は ドメイン名、証明書ファイル名は ドメイン名.pem、鍵ファイル名はドメイン名.key です。

手順

  1. Alibaba Cloud SSL Certificates にログインします。
  2. [SSL Certificates] ページで、目的の SSL 証明書を見つけて、右下隅の [ダウンロード] をクリックします。
  3. パッケージをローカルホストにダウンロードするには、[証明書のダウンロード] ダイアログボックスで、サーバータイプが Nnginx/Tengine の証明書を含む行を見つけ、[操作] 列の [ダウンロード] をクリックします。
  4. パッケージを解凍します。
    次の 2 つのファイルが抽出されます。
    • 証明書ファイル (接尾辞が .pem または .pem ファイル形式)
    • 鍵ファイル (接尾辞が .key または .key ファイル形式)
    .pem 証明書ファイルは Base64 でエンコードされたテキストファイルであり、必要に応じて拡張子を変更できます。

    証明書のフォーマットの詳細は、代表的なデジタル証明書の形式 をご覧ください。

  5. Nginx のインストールディレクトリに cert ディレクトリを作成し、ダウンロードした証明書ファイルと鍵ファイルを cert ディレクトリにコピーします。
    証明書を申請する際に、[マニュアル] での CSR 生成を選択した場合、秘密鍵ファイルを cert ディレクトリに配置してください。
  6. [Nginx インストールディレクトリ] > [conf] > [nginx.conf] を開きます。 nginx.conf ファイルで、次の属性を見つけます。
    
    #HTTPS サーバー
      server {
      listen 443;
      server_name localhost;
      ssl on;
      ssl_certificate cert.pem;
      ssl_certificate_key cert.key;
      ssl_session_timeout 5m;
      ssl_protocols SSLv2 SSLv3 TLSv1;
      ssl_ciphers ALL:! ADH:! EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
      ssl_prefer_server_ciphers on;
      location / {
    						
    data.txt ファイルを次のように変更します。
    
    "ssl" で始まる属性は証明書の設定に関連していますが、その他は必要に応じて設定できます。
    server {
    listen 443;
    server_name localhost; #localhost を証明書にバインドされているドメイン名に置き換えます。
    ssl on; #SSL 機能を有効にするには、この属性をオンに設定します。
    root html;
    index index.html index.htm;
    ssl_certificate cert / domain name.pem; #ドメイン名.pem を証明書ファイル名に置き換えます。
    ssl_certificate_key cert / domain name.key; #domain name.key を秘密鍵ファイル名に置き換えます。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:! NULL:! aNULL:! MD5:! ADH:! RC4; #この暗号スイートを使用します。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #プロトコルを変更します。
    ssl_prefer_server_ciphers on;   
    location / {
    ルートHTML; #サイトディレクトリを設定します。
    index index.html index.htm; #属性を追加します。
    }
    }
    							
  7. (オプション) HTTP から HTTPS へリダイレクトするように設定すると、HTTP プロトコルを使ってアクセスできるようになります。 次のように nginx.conf ファイルを変更します。
    server {
        listen 80;
        server_name localhost; #localhost を証明書によってバインドされたドメイン名に置き換えます。
        return    301 https://$server_name$request_uri; 
    }
    server { 
        listen 443 ssl; 
        server_name localhost; #localhost を証明書によってバインドされたドメイン名に置き換えます。
    }
  8. nginx.conf ファイルを開いて終了します。
  9. Nginx サーバーを再起動します。