読者です 読者をやめる 読者になる 読者になる

ぞえの技術めも

Ruby on Rails勉強中

【66日目】【1日20分のRailsチュートリアル】【第7章】masterブランチへのマージと本番環境でのSSL対応

Ruby on Railsチュートリアル(第3版)

今日は「7.5 プロのデプロイ」から。

7.5 プロのデプロイ

ユーザー登録をセキュアにするために、本番用のアプリケーションに重要な機能を追加していきます。
その後、デフォルトのWebサーバを実際の世界で使われているWebサーバに置き換えていきます。

今回の対応からユーザー情報をインターネット上でやり取りするようになるもんね。。。

デプロイの下準備として、まずはこの時点までの変更をmasterブランチにマージしておいてください。

マージしました。

$ git add -A
$ git commit -m "Finish user signup"
$ git checkout master
$ git merge sign-up

7.5.1 本番環境でのSSL

本章で開発したユーザー登録フォームで送信すると、名前やメールアドレス、パスワードといったデータがネットワーク越しに流されていきます。
実は、このようなネットワークに流れるデータは途中で捕捉できるため、扱いには注意が必要です。
(中略)
そしてこれを修正するためにSecure Sockets Layer (SSL)を使います。

データをやり取りするサイトにはSSL必須ですね。

そしてSSLを有効化するのも簡単です。 production.rbという本番環境の設定ファイルの1行を修正するだけで済みます。

へぇ~、簡単なのか!

config/environments/production.rb

  :
  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  config.force_ssl = true
  :

元々config.force_ssl = trueコメントアウトされていたのでコメントアウトを外した。
う~ん、かんたん。

次に、遠隔にあるサーバーのSSLをセットアップします。本番用のWebサイトでSSLを使えるようにするためには、ドメイン毎にSSL証明書を購入し、セットアップする必要があります。
(中略)
それは、Heroku上でサンプルアプリケーションを動かし、HerokuのSSL証明書に便乗する方法です (訳注: ただし、この方法はHerokuのサブドメインでのみ有効です。独自ドメインを使う場合はSSL証明書を購入する必要があります)。

あぁ…SSLはこの証明書取ったりするのにお金かかるしめんどくさそうなイメージ。。。やったことはないけど。

今日の作業時間は【21分】

次は「7.5.2 本番環境用Webサーバー」から。