年に一度しかやらないと忘れるので、来年の自分に向けてメモ。
1.csrを作る
% openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
2.mydomain.csrを業者に送って証明書を発行してもらう
大抵2、3日かかる。
3.中間証明書をダウンロードする
bundle.crtとかそんな感じの名前が多い。
4.発行された証明書(mydomain.crt)と中間証明書を連結する
と言っても繋げるだけ。
% cat mydomain.crt bundle.crt > mydomain-join.crt
もちろんエディタでやっても可。
5.証明書と鍵をnginxから見えるディレクトリに置く
% cp mydomain.key /etc/nginx/ssl/
% cp mydomain-join.crt /etc/nginx/ssl/
6.nginxにSSLの設定を追加
server {
listen 443 default ssl;
ssl on;
ssl_certificate /etc/nginx/ssl/mydomain-join.crt;
ssl_certificate_key /etc/nginx/ssl/mydomain.key;
server_name mydomain.com;
root /var/www/mydomain;
error_log /var/log/www/mydomain.log;
# 以下略
}
7.nginxを再起動*
% /etc/init.d/nginx restart
なお、ワイルドカード証明書などを使って複数のバーチャルホストでSSLを有効にする場合、default sslが複数あるとエラーになって起動しないので注意。2つめ以降はlisten 443だけにする。