ええ、herokuにはルーティングマジクがあるので、railsアプリが実行しているデフォルトのWebBrickサーバーをrailsの外で実行していると考えてください。Idk、乗客を使用していると仮定すると、これには実際には気付かないでしょうが、高レベルでは、nginxは特定のリクエストに対してアプリのポート3000をポート80にプロキシしています。それが何を意味するのかわからない場合は、お詫び申し上げます。
だから(あなたのアプリ)--->(NGINX)----->(クライアント)
ここでの利点は、nginxが実行を継続することですが、メンテナンスモード中に、静的コンテンツにページを撮影し始める可能性があります。Railsアプリを乗客ではなくプロキシ経由で実行する場合、解決策は簡単です。WebBrick、mongrel、unicorn、thin(ここにあるアプリサーバー)を停止し、502ルートとも呼ばれる不正なゲートウェイエラーのエラーメッセージページを設定します。
乗客を使用する場合。メンテナンスページへのすべてのルートを上書きし、そのサーバーブロックで乗客をオフに切り替えるロケーションブロックを作成できます。これで、アプリを提供する代わりに、静的なメンテナンスページを提供できます。
Herokuは多くのテクノロジーをラップし、優れたツールを公開しているため、スタックを自動化するにはもう少し基本的な作業を行う必要があります。しかし、これは出発点です。