フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

Laravelのメンテナンスモード

はじめに

  • Laravelのメンテナンスモードがあることを知り検証してみる。

メンテンモードにする

  • php artisan downコマンドを実行するだけでメンテナンスモードになる
$ php artisan down
Application is now in maintenance mode.
  • メンテナンスモードの場合、503エラーのページが表示される f:id:PX-WING:20201214222820p:plain

メンテナンスモードを解除する

  • php artisan upコマンドを実行するだけでメンテナンスモードが解除される
$ php artisan up
Application is now live.

メンテナンスモード中の動作確認方法

  • メンテナンスモード状態でもsecretオプションを使い、メンテナンスモードパイパストークンを指定できます。
php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"

アプリケーションをメンテナンスモードにしたあとで、このトークンと同じURLによりブラウザでアプリケーションにアクセスすると、メンテナンスモードバイパスクッキーがそのブラウザへ発行されます。

https://example.com/1630542a-246b-4b66-afa1-dd72a4c43515

この隠しルートへアクセスすると、次にアプリケーションの/ルートへリダイレクトされます。ブラウザへこのクッキーが一度発行されると、メンテナンスモードでない状態と同様に、アプリケーションへ普通にブラウズできます。

※この機能はすごい便利ですね。

メンテナンスモード中に特定のページにリダイレクトさせる

  • ユーザーがアクセスしてきたアプリケーションの全URLに対し、メンテナンスモードビューを表示します。お望みならば、全リクエストを特定のURLへリダイレクトすることも可能です。redirectオプションを使用してください。
php artisan down --redirect=/maintenance.html