証明書の設定nginx 新規/更新用
中間CA証明書、サーバー証明書をダウンロードし、次の手順に従い証明書を設定してください。
- 1,証明書のインストール
- 2,鍵ペアのインストール
- 3,SSL/TLSの有効化
- 4,サーバー・プロセスの再起動
以下の
- ・ssl_certificate
- ・ssl_certificate_key
等の指定はnginxの立上げファイルの中にあります。 既定の立上げファイルの名前は、「nginx.conf」です。 既定の立上げファイルは、 nginxのインストール先直下の「conf/」下位ディレクトリーにあります。
立上げファイルでは、 「#」文字で行内コメントが始まります。 以下で使用する各種の指定の左に「#」文字のないことを確認してください。
1.証明書のインストール
- 注意事項
- 中間CA証明書が新しくなりました。
2023/9/2以降に発行される証明書より、新しい中間CA証明書をインストールする必要があります。
お客様専用ページから新しい中間CA証明書をダウンロードして、インストールを行ってください。
立上げファイルの「ssl_certificate」に指定するパス名のファイルに、 2枚以上の証明書をつないで保存します。
この手順では、 例として立上げファイルで「ssl_certificate」に以下と設定することを前提としています。
例)ssl_certificate /pathname/of/combined.crt;
1-1
サーバー証明書と中間CA証明書の2つをつなぐ
まず、各証明書ファイルの末尾が5つのハイフンと改行で終わっていることを、ご確認ください。
次のコマンドを入力し、ダウンロードしたサーバー証明書(例: Bxxxxxx.txt)と中間CA証明書(例: chain.txt)の2つファイルをつないでください。
※ダウンロードしたファイルは、 現在作業中のディレクトリーにあるものとします。
コマンド例:
# cat Bxxxxxx.txt chain.txt >/pathname/of/combined.crt
「Bxxxxxx.txt」: サーバー証明書のパス名
「chain.txt」: 中間CA証明書のパス名
「/pathname/of/combined.crt」: 立上げファイルの「ssl_certificate」に指定したパス名
※相対パス名で書くと、
nginxのインストール先直下の「conf/」下位ディレクトリーからの相対パス名とみなされます
以上で証明書のインストールは完了です。
2.鍵ペアのインストール
立上げファイルの「ssl_certificate_key」に指定するパス名のファイルに、 鍵ペアのファイルを移動していただきます。
この手順では、 例として立上げファイルで、 「ssl_certificate_key」へ次のように設定することを前提としています。
例)「ssl_certificate_key /pathname/of/server.key;」と設定
2-1
鍵ペアファイルの移動
サーバー証明書に対応する鍵ペアのファイルを、指定したパス名へ移動させます。
※servername.key(お申込み時に生成した鍵ペアファイル)は、現在作業中のディレクトリーにあるものとします。
コマンド例:
# mv -i servername.key /pathname/of/server.key
※注意:
コマンド・プロンプトの前に別なプロンプトの出た場合は、 既存ファイルへ上書きの可能性がありますので、 パス名を確認してください。
以上で鍵ペアのインストールは完了です。
3.SSL/TLSの有効化
サーバーにSSL/TLSを有効にするための作業をしていただきます。
SSL/TLSを設定済みであれば、次のように設定されているかどうかをご確認ください。
3-1
SSL/TLSの有効化
SSL/TLSを有効にするため、立上げファイルに次のように指定してください。
指定例:
listen 443 ssl;
server_name www.example.net;
#ssl on;
ssl_certificate /pathname/of/combined.crt;
ssl_certificate_key /pathname/of/server.key;
ssl_password_file /pathname/of/passphrase;
ssl_session_timeout 5m;
#ssl_protocols TLSv1;
「443」:(httpsで) サーバーの待ち受けるポート番号
「 ssl」:httpsの指定です。1.0.4版以前では省いてください
「ssl on;」:httpsの古い指定です。 1.0.4版以前ではコメント文字 (#) を外してください
「www.example.net」:証明書の主体者の識別名 (DN) のコモン・ネーム (CN) の値。 これはサーバーのFQDN (Fully Qualified Domain Name) でもあります
「/pathname/of/combined.crt」:「証明書のインストール」 でインストールした証明書のパス名
「/pathname/of/server.key」:「鍵ペアのインストール」 でインストールした鍵ペアのパス
「/pathname/of/passphrase」:パス・フレーズを保存した ファイルのパス名です。パス・フレーズのない場合、指定 は不要です。1.7.2版以前では省いてください
「ssl_protocols TLSv1;」: プロトコルの古い指定で、1.5.4版以降では、指定は不要です。1.5.3版以前ではコメント文字 (#) を外してください
以上でSSL/TLSの有効化は完了です。
3-2
OCSPステープリングの有効化
もし、 次の条件
- ・nginxのバージョンが1.3.7以降
- ・OpenSSLのバージョンが0.9.8j以降 (OpenSSL導入時の初期設定によっては、 0.9.8hや0.9.8iでよい場合もあります)
- ・サーバー機からDNSで ev2.ocsp.secomtrust.net/ のIPアドレスを解決できる
- ・サーバー機からプロクシーなしで <http://ev2.ocsp.secomtrust.net/> へアクセスできる
をすべて満たしている場合、 OCSPステープリングの設定をお勧めします。 OCSPステープリングを有効にするには、 立上げファイルに次のように指定してください。
指定例
ssl_stapling on;
resolver 192.0.2.1;
ssl_trusted_certificate /pathname/of/chain.txt;
「192.0.2.1」:DNSのネーム・サーバーのIPアドレス
「/pathname/of/chain.txt」:チェーン証明書のパス名
以上でSSL/TLSの有効化は完了です。
注意点
1.7.3より古いnginxでは、 鍵ペアをパス・フレーズで保護できません。 鍵ペアのファイルは、 持ち主以外には読み書きもアクセスもできないディレクトリーに置くことを推奨します。
チェーン証明書が使えなくなるので、 「ssl_protocols」に「SSLv2」を指定しないでください。
1.1.13以降の1.1系や、 1.0.12以降の1.0系では、 「ssl_protocols」に「 TLSv1.1 TLSv1.2」を追加で指定できます。
1.13.0以降では、OpenSSLのバージョンなどにより、「ssl_protocols」に「 TLSv1.3」を追加で指定できることがあります。
OpenSSL 3.0.0系以降で「 TLSv1.1」以前の設定がうまく機能しないばあい、「 TLSv1.3」も有効に設定することを検討するとよいでしょう。
nginx起動後、 初回のhttpsアクセスでは、 OCSPステープリングの機能しないことがあります。 2回目のアクセスでOCSPステープリングが機能すれば、 大丈夫です。
4.サーバー・プロセスの再起動
サーバー・プロセスをいったん停止して、その後で再起動してください。
もし起動してなければ、4-2.のようにサーバー・プロセスを起動してください。
リロ-ドでは鍵や証明書を更新できないこともあります。
4-1
サーバー・プロセスの停止
もしプロンプトが出たら、「鍵ペアおよびCSRの生成」で入力したパス・フレーズを入力してください。
停止コマンド
# /NGINX_HOME/sbin/nginx -s stop
「/NGINX_HOME」:nginxのインストール先ディレクトリー
4-2
サーバー・プロセスの再開
もしプロンプトが出たら、「鍵ペアおよびCSRの生成」で入力したパス・フレーズを入力してください。
再開コマンド
# /NGINX_HOME/sbin/nginx
「/NGINX_HOME」:nginxのインストール先ディレクトリー
注意:待ち受けるポート番号によっては、スーパーユーザー特権の不必要な場合もあります。
以上でサーバー・プロセスの再起動の完了です。
証明書のインストールは、以上で完了です。
※ 重要
証明書のインストール後、鍵ストアのファイルは、必ずバックアップをとり、パスワードの保管場所と別の安全な場所に保管してください。