2018年5月4日金曜日

herokuメンテナンスページの設定による任意サイトへのリダイレクトと注意点

herokuにはメンテナンスページを設定できる機能がある。(2018年5月4日 確認)
herokuのアプリを起動した状態から任意のページに転送できる。
外部サイトのURLでも動作した。
動作としては一度、herokuで作成したページが表示された後に転送される。

コマンドライン上から簡単に設定できる。
MAINTENANCE_PAGE_URLというheroku上の環境変数を設定するだけで済む。

設定前に環境変数を事前に確認すると良い。
heroku config --app 【アプリ名】

$ heroku config -a trial-misrecognition
=== 【アプリ名】 Config Vars
DATABASE_URL:             postgres://ooerqfdjfubrmy:@【ホスト名】.compute-1.amazonaws.com:5432/
LANG:                     en_US.UTF-8
RACK_ENV:                 production
RAILS_ENV:                production
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE:          【シークレットキー】
MAINTENANCE_PAGE_URLの設定は以下の様な書式となる。
heroku config:set MAINTENANCE_PAGE_URL=用意したページのURL --app 【アプリ名】

$ heroku config:set MAINTENANCE_PAGE_URL=【URL】 --app 【アプリ名】
Setting MAINTENANCE_PAGE_URL and restarting ⬢ 【アプリ名】... done, v【バージョン番号】
MAINTENANCE_PAGE_URL: 【URL】
設定後、再度 heroku config --app 【アプリ名】から確認する。

$ heroku config -a trial-misrecognition
=== 【アプリ名】 Config Vars
DATABASE_URL:             postgres://【ユーザ名】:@【ホスト名】.compute-1.amazonaws.com:5432/
LANG:                     en_US.UTF-8
MAINTENANCE_PAGE_URL:     【URL】
RACK_ENV:                 production
RAILS_ENV:                production
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE:          【シークレットキー】
MAINTENANCE_PAGE_URLが表示されて設定されている事がわかる。

メンテナンスモードという設定とは関連性が理解できなかった。
以下コマンドで確認してもoffという表示となる。
# heroku maintenance -a 【アプリ名】
off

また、コントロールパネル上以下の様に表示されているが、MAINTENANCE_PAGE_URLへのリダイレクトは有効となっているので、注意する必要がある。
参考としたURL https://www.tam-tam.co.jp/tipsnote/program/post14102.html http://info-i.net/heroku-maintainance

0 件のコメント: