nginxを使ったSSLの設定
参考
Rapid SSLの公式 (nginx)
nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
http://heartbeats.jp/hbblog/2012/06/nginx06.html
おなじみHEARTBEATSさま
イケメンとラブレターで学ぶSSLの仕組み
いとうじゅんいちさんの記事
http://blog.jnito.com/entry/2013/05/26/064803
手順
証明書の準備
メールで送られてきた証明書をnginxの命名規則にしたがってssl.crt
とかの .crt
拡張子で保存。
こっから中間証明書を発行します。
中間証明書だと、.pem
とかの拡張子としてサーバーにアップロードする感じなのかなと思ったら、conbineする必要があるらしい。ということで合体。
$ cat intermediate.crt >> SSL.crt
nginxの設定
こっからは http://heartbeats.jp/hbblog/2012/06/nginx06.html を参考にさせていただきながら。同じホストで80番ポートと443番ポート、つまりhttpとhttpsプロトコルでのアクセスを可能にするには、
上述しましたが、listenディレクティブにsslパラメータを付けると、そのポートでSSLを有効にして待ち受けるようになります。この機能を使い、次のようにsslパラメータを付けない80番ポートを指定したlistenディレクティブとsslパラメータを付けた443番ポートを指定したlistenディレクティブを設定すると、同じバーチャルサーバの設定でHTTPとHTTPSの両方を有効にすることができます。
server { listen 80; listen 443 ssl; server_name example.jp; ssl_certificate /etc/nginx/cert.pem; ... }
このときにはsslディレクティブを記述しないでください。TLS/SSLの有効・無効はlistenディレクティブのsslパラメータの有無で判断するようになります。もし、sslディレクティブでonを指定すると80番ポートでもTLS/SSLで待ち受けるようになってしまいます。
とあります。ということでまずはこちらの方法からやってみて、HTTPSでの接続を確認したらSEO的に正しいやり方でリダイレクトをかける、という流れでやってみたいと思います。
ここでstylesheetが読み込まれない問題が発生。proxyしてるのがどうなんって思ったけど、多分アプリケーション側の設定だと思われる。