3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Heroku】メンテナンス画面をカスタマイズする

Last updated at Posted at 2021-03-03

概要

  • Herokuに載せたアプリをメンテナンスモードにした際、デフォルトではHerokuが用意しているメンテナンス画面が表示されます
  • 見た目的にもセキュリティ的にも独自で作成した画面にしたほうがよいので、その方法を記載します。

Herokuメンテナンスモード

  • Herokuに載せたアプリケーションをメンテナンスモードにするには、Settings画面から切り替えます。

Screen Shot 2021-03-03 at 12.53.52.png

  • また、Heroku CLIを使用している場合は以下コマンドでも切り替えられます
$ heroku maintenance:on
$ heroku maintenance:off
  • メンテナンスモード中に、対象アプリケーションにアクセスするとHeorkuが用意しているメンテナンス画面が表示されます。

Screen Shot 2021-03-03 at 13.06.56.png

メンテナンス画面の作成

- htmlかなんかで適当なメンテナンス画面を作成し、それをインターネット上からアクセス可能な場所に配置します

  • 静的ページであれば、AWS S3やgithub pagesに置くとコストがほとんどかからずおすすめです

Heroku設定

  • Herokuアプリケーションの環境変数MAINTENANCE_PAGE_URLを新規に作成し、メンテナンス画面のURLを指定します。
  • Heroku CLIであれば以下コマンドで指定します。
$ heroku config:set MAINTENANCE_PAGE_URL="メンテナンス画面のURL" --app "アプリ名"
  • ちなみにS3に配置したhtmlであれば以下のような指定になります
//<バケット名>.s3.amazonaws.com/maintenance.html
  • 設定したら、反映されるまで1分程度待ちます。
  • 以上で、自作のメンテナンス画面が表示されるようになります。

注意点

  • メンテナンス画面に遷移しているのではなく、Herokuの用意したメンテナンス画面にiframeで表示されています。
    • そのため、ブラウザに表示されるURLはHerokuのURLになります
  • HerokuアプリケーションはHTTPSなので、自作のメンテナンス画面もHTTPS化する必要があります。(httpのページをhttpsのメージにiframeで表示することができないため)
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?