Rubyビルドパックを使用して、プライベートCloudFoundryインスタンスにデプロイするアプリケーションがあります。場合によっては、インバウンドリクエストによってアプリケーションがクラッシュし、コンテナが再起動することがあります。この時点で、ユーザーにはError 502 - container was unable to service your request
などのエラーページが表示されます。これは私のアプリが提供するエラーではなく、インフラストラクチャであるため、私はそれを支配していません。CloudFoundryエラーページにカスタムヘッダーを追加するにはどうすればよいですか?
私のアプリは定期的にリフレッシュするダッシュボード/キオスクの一部として実行されるように設計されており、成功したリクエストごとにRefresh
ヘッダーを追加します。リフレッシュ時間はダイナミックで常に同じ値ではない(5分から0秒の間)。ブラウザのリフレッシュ拡張機能を使用しないのはこのためです。
エラーページにヒットしたときは、Refresh
ヘッダーがないので、ページは永遠にそこにしか置かれません。エラーページにRefresh
ヘッダーを追加するCloudFoundryを取得するにはどうすればよいですか?私はその値が私のmanifest.yml
に設定されたいくつかの静的な値であることに満足していますが、それを行うためのオプションはありません。
インスタンスカウントを1つ以上に拡大しようとしましたか?私の理解は、アプリケーションがクラッシュして失敗した場合、利用可能な他のアプリケーションインスタンスがある限り、GoRouterは再試行する必要があるということです。 https://github.com/cloudfoundry/gorouter#load-balancing –
@DanielMikusaはい、私は2つのインスタンスを実行していますが、それは効果がないようです。それは両方のクラッシュにそれらを引き起こしている可能性があります、私は思います。 – simonwo
それは可能です。両方のインスタンスがダウンした場合は、502を取得します。 'cf events'を実行すると、アプリケーションがいつクラッシュしたかを確認し、時刻が近いか重なっているかどうかを確認できます。 –