RailsでSSLを使う
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「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/
ソーシャルもやってます!