nginx
SSL

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

More than 1 year has 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だけにする。