Posted at

NginxにSSL証明書をインストールする手順

More than 5 years have passed since last update.

年に一度しかやらないと忘れるので、来年の自分に向けてメモ。

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だけにする。