これは nodejs のコードの一部です。
const app = express();
const server = app.listen(3000);
app.use(express.static("public"));
console.log("Server is running");
const io = socket(server);
ローカル ホストで動作します。世界中の誰もが接続できるようにするには、何をする必要がありますか。
答え1
注意:マシンをインターネットに公開すると、セキュリティ上のリスクが伴います。専用のマシン(またはラズベリーパイ)の使用を検討し、バックアップを用意し、セキュリティ対策がわかるまでインターネットからサーバーにアクセスできる時間を最小限に制限し、セキュリティについて学習してください(私はhttps://tryhackme.com/)。
たとえば、公開アドレスを次のように指定します。https://whatismyipaddress.com/ このアドレスは ISP によって提供されます。
ほとんどの場合、マシンのローカル ファイアウォールでポート 3000 を開く必要があります (これは OS/ディストリビューションに大きく依存しますが、その方法はすでにインターネット上のどこかに文書化されています)。
http://<you.ip.num.bers>:3000 に接続してみてください。
うまくいかない場合は (おそらく)、ルータ/ボックスを設定して、ネットワーク アドレス変換/ポート アドレス変換 (NAT/PAT) を実行し、着信要求がマシンにリダイレクトされるようにする必要があります。
ip addr
ローカル マシン (またはipconfig
ターミナル)の IP アドレスを特定する必要があります。
ボックスに接続し、NAT/PAT 構成に関するセクションを見つけます。WAN インターフェイス (「インターネット」) のポート 80 からマシンの IP と選択したポート (例では 3000) へのリダイレクトを追加します。
これで、パブリック IP を使用して、どこからでもサイトに接続できるようになります: http://<your.ip.num.bers> :80 を追加する必要はありません。これは http のデフォルト ポートです。
あなたはシステム管理者への素晴らしい旅の始まりにいるようです。おそらく、DNS とドメイン名、リバース プロキシ、ファイアウォールについて学ぶことになるでしょう。