NginxでSSLを設定する

証明書はすでに取得して手元にあるとして・・。
そいつの設定方法を。

Nginxに証明書を設定

server {
    listen 443;

    server_name exsample.com;

    ssl on;
    ssl_certificate /xxxxx/xxxxxx/xxxxxx.cer; # 証明書
    ssl_certificate_key /xxxxx/xxxxxx/xxxxxx.key; # 鍵
}

中間証明書の設定は?

中間証明書を設定するオプションは無いんで、証明書と結合する。

$ cat s_xxxx.cer ca_xxxx.cer > s_ca_xxxx.cer

s_xxxx.cer: サーバー証明書
ca_xxxx.cer: 中間証明書
s_ca_xxxx.pem: 結合された証明書

で、これ確認しないといけないのは、

xxxxxxxxxxxxxxxx
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxx

みたいに結合時に証明書のEND行と、中間証明書のBEGIN行が繋がってるとエラーになるんで、別々の行になっているか確認。

xxxxxxxxxxxxxxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxx

Nginxの起動(再起動)時にパスワードを入力するのが面倒な場合

Nginxを起動したり、再起動したりする場合に証明書のパスワード入力を求められるのを回避するには、

$ openssl rsa -in xxxx.key -out xxxx.key

で、パスワードを聞かれるんで入力。
生成されたxxxx.keyファイルをNginxに設定してやれば、再起動時等にパスワードを求められなくなる。