らくだ🐫にもできるRailsチュートリアル|7.5(と7.6)

7.5 プロのデプロイ

実際に動かせるアプリのデプロイ!
準備として現時点までをmasterブランチにマージしておく

7.5.1 本番環境でのSSL

本章で開発したユーザー登録フォームで送信すると、名前やメールアドレス、パスワードといったデータがネットワーク越しに流されていきます。実は、このようなネットワークに流れるデータは途中で捕捉できるため、扱いには注意が必要です。これはサンプルアプリケーションの本質的なセキュリティ上の欠陥です。そしてこれを修正するためにSecure Sockets Layer (SSL)を使います 12。これはローカルのサーバからネットワークに流れる前に、大事な情報を暗号化する技術です。

・
・
・
  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  #現在の環境では48行目あたり
  #コメントアウトされているので有効にする
  #本番環境で本番環境ではSSLを使うようにするための設定
  config.force_ssl = true

本番環境でSSLを使えるようにするためにはドメインごとにSSLのセットアップが必要
→Herokuのサブドメインを使用することでHerokuのSSL証明書に便乗
→結果自動的にSSLが有効化されている
→独自ドメインを使いたい場合は環境に合わせて設定

7.5.2 本番環境用のWebサーバー

Herokuのデフォルトでは、Rubyだけで実装されたWEBrickというWebサーバを使っています。WEBrickは簡単にセットアップできたり動せることが特長ですが、著しいトラフィックを扱うことには適していません。つまり、WEBrickは本番環境として適切なWebサーバではありません。

PumaというWebサーバに置き換える
Rails5以降デフォルトで使えるようになっているのでRails側では何もしなくてよい

Heroku上でPumaのプロセスを走らせる

ルートディレクトリに設定ファイルを作る

$ touch Procfile
web: bundle exec puma -C config/puma.rb

7.5.3 本番環境へのデプロイ

$ rails test
$ git add -A
$ git commit -m "Use SSL and the Puma webserver in production"
$ git push
$ git push heroku
$ heroku run rails db:migrate

演習

  1. ブラウザから本番環境 (Heroku) にアクセスし、SSLの鍵マークがかかっているか、URLがhttpsになっているかどうかを確認してみましょう。
  2. 本番環境でユーザーを作成してみましょう。Gravatarの画像は正しく表示されているでしょうか?

  1. 鍵マーク〇、URLがhttpsになっているか〇
  2. 本番環境でのユーザー作成〇、Gravatarの画像〇

7.6 最後に

8章9章では承認システムを導入して、ユーザーがログインとログアウトを出来る様にする
10章ではどのユーザーも自分のアカウントを更新できるようにする
また、管理者がユーザー削除を出来る様にする
以上でUsersリソースにRESTアクションがすべて実装される!

7.6.1 本章のまとめ

本文参照の事

まとめとか感想

作業的な感じなのでサラっとまとめちゃったけど
実際アプリを公開するときには結構重要なんじゃなかろうか。とか。

次からとうとう8章ですね!
益々頑張っていきたいと思います🐫

らくだ🐫にもできるRailsチュートリアルとは

「ド」が付く素人のらくだ🐫が勉強するRailsチュートリアルの学習記録です。
自分用に記録していますが、お役に立つことがあれば幸いです。

調べたとはいえらくだ🐫なりの解釈や説明が含まれます。間違っている部分もあるかと思います。そんな所は教えて頂けますと幸いなのですが、このブログにはコメント機能がありません💧お手数おかけしますがTwitterなどでご連絡いただければ幸いです