Replitはプロジェクトをクラウド環境で実行するため、ポートはローカルコンピューターとは異なる動作をします。(TCPポートとは何かについての基本的な説明が必要な場合は、こちらから始めてください。) コンピューターでは、ポート管理のレイヤーが1つしかありません:プログラムはリッスンするポートを定義し、インターネットからコンピューターのそのポートにトラフィックが届くと、適切なプロセスにルーティングされます。Documentation Index
Fetch the complete documentation index at: https://docs.replit.com/llms.txt
Use this file to discover all available pages before exploring further.

0.0.0.0の部分はアドレスまたはホストです。プロセスが0.0.0.0でリッスンしている場合、すべてのネットワークインターフェースでリッスンするということを意味します。つまり、別のコンピューター(インターネット上)がコンピューターのIPアドレスにリクエストを送ると、それが見えます。したがって、0.0.0.0でリッスンすることは、それらのプロセスが公開インターネットからアクセス可能であることを意味します(コンピューターが接続されている場合)。
ほとんどのプログラミングフレームワークは、開発中は0.0.0.0でリッスン_しません_。プライバシーとセキュリティのために、作業中に自分の作業を公開したくない場合があるからです。代わりに、別のアドレス(127.0.0.1、別名localhost)でリッスンします。これは、そのコンピューターのみがそのポートへのリクエストを行えることを意味します。


:80が内部ポート:3000にバインドされています。これは、Replitアプリがポート80で受け取るトラフィックが内部ポート3000に送られることを意味します。
この設定は.replit設定ファイルの[[ports]]セクションに記録されます。
デフォルトでは、Replitは最初に開いたポートをデフォルトの外部ポート80にバインドします。これにより、そのプロセスがポートアドレスなしのドメインで利用可能になります(例:customdomain.com:3000/ではなくcustomdomain.com/)。追加で開かれた内部ポートは、他の利用可能な外部ポートにバインドされます(以下の完全なリストを参照)。
プレビュー
Previewツールでは、WebビューがレンダリングしているExternal Portをドメインをクリックして別のポートを選択することで変更できます。また、「ギア」アイコンからネットワーキングツールを開いて詳細を確認することもできます。
デフォルトポート
ポート:80はhttpトラフィックの「デフォルトポート」であるため、ルートドメインに送られたhttpトラフィックは自動的にポート80にルーティングされます。そのため、ポート80のURLにはポートパスが表示されません。:80以外のポートはドメインパスに表示されます(例:customdomain.com:4200/)。(ReplitはデフォルトでTLSを提供するため、技術的にはhttpsのデフォルトポートであるポート443を使用します。実際の目的では、これらは交換可能として扱えます。)
ネットワーキングツール
ポート設定とネットワーキングの詳細については、ネットワーキングツールを開くことができます。Replitアプリで開かれているポートの状態、バインドされている外部ポート、設定の追加や削除ができます。
公開
AutoscaleとReserved VMのデプロイメントは単一の外部ポートの公開のみをサポートし、対応する内部ポートはlocalhostを使用できません。複数のポートを公開したり、localhostで単一ポートを公開したりすると、公開されたアプリが失敗します。Autoscaleデプロイメントが期待通りに動作するようにするための簡単な方法は、インターネットからやり取りしたいサービスのポートを除いて、設定内のすべてのexternalPortエントリを削除することです。
デバッグ
期待通りに動作しない一般的な理由として、ポート設定は正しく見えても、プログラムが実際に別のポートを見ていることが挙げられます。たとえば、設定が次のような場合:
設定
Replitはポートが開かれたときにReplitアプリで開かれたポートを自動的に利用可能な外部ポートにバインドし、そのバインドを.replit設定ファイルに記録します。 ただし、localhostで開く内部ポートに対してはデフォルトでこれが行われません。通常localhostで動作するサービスは、プロセスを実行しているコンピューターと同じコンピューターからのみアクセス可能であると想定しているためです(localhostポートは同じコンピューターでのみ見えます)。これは、そのようなサービスが公開インターネットからアクセス可能であることを前提に構築されたサービスほど安全でないことが多いことを意味します。 これは常にexposeLocalhost設定オプションを公開したいポートに対してtrueに設定することで上書きできます。
デフォルトでlocalhostポートを_常に_公開したい場合は、User Settingsツールの「ポートの自動転送」設定を「すべてのポート」に設定できます。
すべてのReplitアプリのポート設定を手動で制御し、開かれたポートの設定を_一切_作成しない場合は、それを「しない」に設定できます。
サポートされているポート
Replitアプリは最初のポートが開かれたときにデフォルトで外部ポート80を定義します。Replitアプリは3000、3001、3002、3003、4200、5000、5173、6000、6800、8000、8008、8080、8081を追加の外部ポートとして公開できます。 ポート22と8283は内部で使用されているため、転送できません。[[ports]] .replit設定
タイプ:{localPort, externalPort, exposeLocalhost}
[[ports]]設定では、Webアウトプットに公開するHTTPポートを設定できます。デフォルトでは、ホスト0.0.0.0で公開されているHTTPポートはReplitアプリのWebアウトプットとして公開されます。
デフォルトポートを上書きせずに追加のポートを提供するには、.replitファイルに新しい[[ports]]エントリを追加します。localPortとexternalPortエントリの両方を指定する必要があります。以下に定義されているように.replitファイルに複数の[[ports]]エントリを追加することで複数の追加ポートを追加できます。
localPort
Replitが外部ポートにバインドするポートを決定します。externalPort
そのローカルポートの公開アクセス可能なポートとして公開するポートを決定します。localPort設定を残したままexternalPortを追加しないだけで済みます:
exposeLocalhost
localhostを使用している内部ポートを外部ポートにバインドできるかどうかを決定します。true、false、またはnullにできます。