OpenSSLが入ってるか確認
openssl version
入ってなかったらyumでインストール
sudo yum -y install mod_ssl
SSLのディレクトリをNginx内に作成しておく
sudo mkdir /etc/nginx/ssl/
ディレクトリの移動
cd /etc/pki/tls/certs
RapidSSL の認証書が 2048bit なので 2048 を指定?
openssl genrsa -des3 -out server.key 2048
自己証明書の作成
http://qiita.com/mats116/items/9a6912b357797bde6c66
Enter pass phrase for server.key: (パスワードを決める) Verifying - Enter pass phrase for server.key: もう一度パスワードを入力する
これで「server.key」が生成される。
※このまま秘密鍵を利用すると、Apacheを再起動する度にPWを聞かれるため、あらかじめ秘密鍵のパスワードを解除しておく。?
sudo openssl rsa -in server.key -out server.key.nopass Enter pass phrase for server.key: <span class="Apple-converted-space">&nbsp; &nbsp; </span>#←<span class="s2">先ほど入力した秘密鍵のパスワード </span>writing RSA key
CSRの作成
sudo openssl req -new -key server.key -out server.csr -sha1
—–
Country Name (2 letter code) [XX]:JP State or Province Name (full name) []:Tokyo Locality Name (eg, city) [Default City]:Shibuya-ku Organization Name (eg, company) [Default Company Ltd]:COMPANY NAME Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:COMMON NAME Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
下記2ファイルが生成されるので確認しておく。
server.csr
server.key.nopass
サーバー証明書の発行
sudo openssl x509 -in server.csr -out server.crt -req -signkey server.key.nopass -days 3650
server.crt
が生成される。
作成された server.csr を開く
vi server.csr
全部コピー
さくらssl の入力画面に貼り付けて「>」をクリックする。
作成した内容に間違いが無いかどうかをチェックする。
登録してしばらくまつと
[さくらインターネット]SSLサーバ証明書 認証ファイルのアップロードについて
というメールが届く。
内容の通りに、サーバー証明書をダウンロードする。
http:// 登録時のドメイン / xxxx.htm
となるようにファイルをアップロードする
gcloudコマンドで、以下のようにしてアップロードができる。
gcloud compute --project "INSTANS NAME" copy-files --zone "us-central1-c" /Users/USERNAME/Desktop/jxijuqho.htm instance-1:~/view/
またまたしばらく待機します。
server { listen 443; server_name example.com; ssl on; ssl_certificate /etc/pki/tls/certs/server.crt; ssl_certificate_key /etc/pki/tls/certs/server.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ….. }
これで動くはずだと思ったら何故か動かない。
めっちゃハマってたら、
http://kenzo0107.hatenablog.com/entry/2015/08/05/145910
これで解決した。
$ sudo cp server.key server.key.bk $ sudo openssl rsa -in server.key -out server.key $ systemctl restart nginx
パスワードがかかりっぱなしになっていたみたいです。。。
nginx + rapid-ssl導入 – わかりやすいよ
http://qiita.com/kmusiclife/items/aac4589f8ad7512a93f3
[参考記事]
Vagrant環境でSSLを利用できるようにする(nginx編)
http://qiita.com/yn-misaki/items/9eb6499e1ac99476be0b
さくらのvps(centos-5-5)に-rapidssl-をインストールするまでのメモ