オルタナティブ・ブログ > 吉政忠志のベンチャービジネス千里眼 >

IT業界でベンチャービジネスの支援をしている執筆者が日々の活動ログと感じたことを、徒然なるままに書き綴っていきます。

小川伸一郎氏のRubyコラム『RailsでSSLを使う』

»

Rails技術者認定試験運営委員会のオーナーでもあるヒューマンリソシアが

私が企画した小川伸一郎氏のRubyコラム『RailsでSSLを使う』を公開しています。(バックナンバー公開)

###

ユーザの個人情報を入力させたり、 ログインするときにはSSLを使いたいという要望は多いと思います。 RailsでもSSLを使いたいという要望は少なくないと思います。 ではRailsでSSLを使いたいという場合にはどうすればよいでしょうか。

Railsアプリケーションでは、 ApacheやNginxといった ウェブサーバをフロントエンドに配置し、 古くはMongrelやThin、 最近ではPassengerや Unicornといったサーバプログラムを動かす アプリケーションサーバをその次に配置するのが一般的です。 例えばフロントエンドのウェブサーバでは 画像やスタイルシート、スクリプトファイルなどの静的ファイルを配信させ、 アプリケーションへのリクエストだけをアプリケーションに流すように 構築するパターンです。 この場合、 ウェブサーバ側でSSLのを受け付けるように設定して、 アプリケーションサーバへは特に暗号化しないでリクエストを 転送(フォワード)します。 こうすることで、 RailsやRubyでSSLの事を考えずとも良くなり、 また比較的重い処理であるSSLの暗号化と復号化の処理を ウェブサーバに分散できるため、効率が良い構成となります。

Railsではバージョン3.1からActionControllerでforce_sslというフィルターが 使えるようになっています。 これはSSLでのアクセスではない場合に、 プロトコルをhttps://に変更してリダイレクトするフィルターです。 例えばSessionsControllerでSSLを有効にするには、 以下のように設定します。

(この続きは以下のコラム本文をご覧ください)
http://resocia.jp/column/326/

Comment(0)