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


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


## サーバにmod_sslを導入

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

yum -y install mod_ssl

🐮 秘密鍵を作成

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

🍮 秘密鍵からCSRを作成

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

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

🎃 CSRをコピー&ペースト

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

cat server.csr

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

🗽 SSLを購入

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

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

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

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

-----BEGIN CERTIFICATE-----
サーバ証明書のxxxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
中間証明書のxxxxx
-----END CERTIFICATE-----

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

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

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

🐹 nginx.confの設定

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

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)

sudo /etc/init.d/nginx restart

🐰 あとがき

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

🐝 参考リンク

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

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍