[インストール] nginx + OpenSSL(新規・更新)

最終更新:2024年11月29日

本マニュアルは、サーバ証明書の設定手順をご案内するものです。nginxのインストールや、コマンドの意味等はご案内しておりませんので、各情報サイトや参考書籍等でご確認ください。本手順は、nginx 1.4.2で動作を確認しております。

※2020年8月14日にクイック認証SSLの中間CA証明書が新しくなりました。以降発行される証明書(再発行と更新も含まれる)は新しい中間CA証明書とともにインストールする必要がありますのでご注意ください。

nginxをご利用になる際の注意点

※弊社では以下の手順にて動作検証をおこなった際の一例をご紹介しており、動作を保証するものではございません。本手順について内容の変更等や誤りがあった場合、弊社では一切の責任を負いかねることを予めご了承ください。

※nginxはオープンソースのアプリケーションです。脆弱性などの問題がないか、随時情報を確認いただき、万一問題が発見された場合は、該当サービスの停止や、対応パッチがリリースされている場合は速やかに適用するなど、 運用には十分ご注意ください。

本例では以下環境を前提としています。お客様の環境に合わせて、ファイル名やパス等を任意に読み替えてご覧ください。

コモンネームssl.globalsign.com
confファイルのパス/etc/nginx/
サーバ証明書ファイル名ssl.globalsign.com.crt
中間CA証明書ファイル名dvcacert.cer
証明書を結合した後のファイル名ssl.globalsign.com.pem

更新または乗り換えのお客様

証明書の更新方法は以下の方法があります。
・既存の「証明書」「秘密鍵」のファイル名を引き続き使用する。
・「証明書」「秘密鍵」のファイル名を新たにし、confファイルで新ファイル名を記載する。
いずれの方法を取っていただいても問題ございませんが、前者の場合ファイルを上書きしてしまいますと、復旧できませんのでご注意ください。
また、新証明書が反映するのは、以下手順の最後のnginx再起動後となります。

  1. 契約者、技術担当者宛に送信しております「サーバ証明書発行のお知らせ」メール本文から「◆証明書」のデータ (-----BEGIN CERTIFICATE----- から -----END CERTIFICATE-----まで)をコピーしてサーバに保存します。GSパネルにログインし、「サーバ証明書」タブにある「証明書一覧」メニューから取得をすることもできます。

    保存先の例
    /etc/nginx/ssl.globalsign.com.crt

    更新のお客様

    引き続き同じファイル名をご利用になる場合は、元の証明書ファイルをリネームするなどでバックアップを取ってから、同一ファイル名で保存します。秘密鍵を新たに作成している場合は、新しい秘密鍵が従来のファイル名となるよう設定します。
    リネームコマンドの例: mv [旧ファイル名] [新ファイル名]

  2. メールから「◆中間CA証明書」のデータ(-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- まで)をコピーしてサーバに保存します。

    保存先の例
    /etc/nginx/dvcacert.cer
  3. サーバ証明書と中間CA証明書を結合します。

    ファイル結合コマンド例
    # cat ssl.globalsign.com.crt dvcacert.cer> ssl.globalsign.com.pem

    ※ファイルの結合後、元のファイルは削除いただいて結構です。

    結合例
    -----BEGIN CERTIFICATE-----
       [サーバ証明書]
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
       [中間CA証明書]
    -----END CERTIFICATE-----
  4. nginxの設定ファイルにSSLの設定を行います。
    ※赤字表記の部分は記載例ですので、お客様の環境によって読み替えてください。

    # HTTPS server

    server {
    listen 443;
    server_name ssl.globalsign.com;

    ssl on;
    ssl_certificate ssl.globalsign.com.pem;
    ssl_certificate_key ssl.globalsign.com.key;
    }

    更新または乗り換えのお客様

    ファイル名を変更せずご利用になる場合、confファイルの修正は必要ありません。
    今回新たなファイル名で設定いただく場合は、ファイル名を修正してください。

  5. nginxをリロードし、変更した設定を反映させます。

    # /usr/sbin/nginx -s reload

以上で設定完了です。
https://コモンネーム での接続をご確認ください。

PCブラウザでは、中間CA証明書がインストールされていない場合でも、自動的にそれを補完するため、エラーが出ないものがあります。正しくインストールされているか確認するには、opensslコマンドが有効です。
SSL接続時の証明書情報をopensslコマンドで確認したい。

※秘密鍵と証明書はペアでバックアップを取る必要がございます。
※パスフレーズが設定されている場合は、こちらもお忘れにならないようご注意ください。
※パスフレーズを忘れた場合、nginxを起動できなくなりますので、新しく秘密鍵、CSRを生成いただき、証明書を再発行する必要があります。
再発行のお手続き

補足

[ ] の部分はお客様の環境に合わせて読み替えてください。

1.秘密鍵の内容を確認
# openssl rsa -text -noout -in /[FilePath]/[KeyFile]

2.秘密鍵のパスフレーズを解除
(Windows版のApacheでは、秘密鍵のパスフレーズを解除する必要があります。)
# cp /[FilePath]/[KeyFile] /[FilePath]/[KeyFile].org (元ファイルのバックアップ)
# openssl rsa -in /[FilePath]/[KeyFile] -out /[FilePath]/[KeyFile]

3.CSRの内容を確認
# openssl req -text -noout -in /[FilePath]/[CSR]

4.証明書の内容を確認
# openssl x509 -text -noout -in /[FilePath]/[CertFile]