Replitがリリース直後にヘルスチェックで止まる場合、ほとんどの場合はプラットフォーム自体がランダムにポンプを動かしているわけではなく、アプリケーションが展開環境が期待するような外部サービスを提供していないのです。 Replitの現行ドキュメントで最も重要な2層は、アプリケーションがHTTPポートを正しく公開しなければならず、展開のための起動コマンドである。 Replitの設定とポートマッピングは一致するはずです。
最も一般的な穴は3つあります。 まず、プログラムはlocalhostのみを受信しますが、このポートを外部からアクセス可能な外部ポートにマッピングしません。 次に、アプリケーションは実際には3000や5173のようなポートで動作しますが、.replitの[[ports]]設定が正しくありません。 第三に、デプロイ中に実行されるコマンドは、ワークスペースで手動で実行するコマンドとは異なります。
この種の問題は、ワークスペースプレビューでは「動作しているように見える」かもしれませんが、リリース後の標準エントリを通過する健康チェックが行われるため、不快です。 外部ポータルがアプリケーションに接続されていなければ、プラットフォームはサービスが不健全であると判断するだけです。
調査の順序は以下の通り推奨されます。
1. まず、アプリケーションが最終的にどのローカルポートを受信しているか確認します。
2. .replitの[[ports]]がこのlocalPortをexternalPortにマッピングしているか確認してください。
3. プログラムがlocalhostのみをバインドする場合、exposeLocalhost = trueが有効か、または直接外部でアクセス可能なリスニング方式に変更するかを確認します。
4. デプロイ開始コマンドがローカルデバッグ時と同じか確認してください。
Replitのドキュメントは、WebViewや外部リクエストでアクセスできるのは適切に公開されたHTTPポートのみであることを思い出させています。 したがって、健康チェックが失敗した場合、優先度はビジネスロジックを見るのではなく、「サービスが本当に露出しているかどうか」をまず確認すべきです。
一言で言えば、ヘルスチェックに合格できないのはアプリが動かないのではなく、プラットフォームがそれを見つけられないからです。 ポート、リスニングアドレス、起動コマンドを揃えれば、多くの展開問題を解消できます。