SSLストア1,050円でRapidSSLをnginxに簡単導入! 

SSLストア」、たった1,050円でSSLが買えちゃいます。SSL証明書をnginxに導入するときに、ほんのちょっとだけはまってしまったので、忘備録メモです。


## サーバにmod_sslを導入

サーバ側で次のコマンドを実行。

1
yum -y install mod_ssl

秘密鍵を作成

1
2
3
4
sudo su -
mkdir /etc/nginx/ssl/
cd /etc/nginx/ssl
openssl genrsa -des3 -out server.key 2048

秘密鍵からCSRを作成

次のコマンドを実行。パスフレーズや国名を答えていく。ドメインやメールアドレスは正確に書くこと。
Enterを押すとスキップ。

1
openssl req -new -key server.key -out server.csr

CSRをコピー&ペースト

server.csrを次のコマンドで画面に表示してコピー。

1
cat server.csr

この情報はSSLを購入後に貼り付けます。

SSLを購入

SSLストア」で購入してください!
購入すると、CSRをはりつける画面があるので貼り付けるとメールアドレスに証明書が送付されます。

サーバ証明書・中間証明書からpemを作成

vi cert.withpass.pemを実行して、pemを作成します。
サーバ証明書と中間証明書はCSRを貼り付けた後に送られてくるメールのしたの方に書かれています。
(Rapid SSLのみしか知らないので、ほかのは別の手段で入手するかもです)

pemは次のようなイメージで作成します。

1
2
3
4
5
6
-----BEGIN CERTIFICATE-----
サーバ証明書のxxxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
中間証明書のxxxxx
-----END CERTIFICATE-----

このままだとパスフレーズが残っていて、nginxノリスタートとかでいちいち聞かれちゃうので次のコマンドを実行。

1
openssl rsa -in cert.withpass.pem -out cert.pem

これでパスフレーズを入力すると、パスフレーズなしのpemが生成されます。

nginx.confの設定

nginx.confに以下のように書くと設定できます。

1
2
3
4
5
6
7
8
9
10
server {
listen 443 default ssl;
server_name example.com;
root /var/rails/example.com;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / { proxy_pass http://127.0.0.1:5001; }
}

設定画完了したら、次のコマンドでnginxを再起動。(For CentOS)

1
sudo /etc/init.d/nginx restart

あとがき

以前何度かSSLの設定手順を経験しましたが、仕事だったためメモが社内Wikiだったお…ということで心機一転書きなおしました!

参考リンク

RapidSSLを取得して、nginx+apacheサーバーで設定する方法 | PLUS