はじめに
このプロジェクトでは、Node.js を使ってリバースプロキシを作成する方法を学びます。リバースプロキシは、クライアントとバックエンドサーバの間に配置されるサーバで、クライアントからの要求をバックエンドサーバに転送し、その応答をクライアントに返します。
👀 プレビュー

🎯 タスク
このプロジェクトでは、以下を学びます。
- Node.js を使って HTTP サーバを作成する方法
Stream pipeを使って GitHub の応答データを直接クライアントに渡す方法- リバースプロキシサーバを起動してテストする方法
🏆 成果
このプロジェクトを完了すると、以下ができるようになります。
- リバースプロキシの概念とその仕組みを理解する
- Node.js を使って GitHub ウェブサイトに対する要求をプロキシするリバースプロキシを作成する
Stream pipeを使ってリバースプロキシ機能を実装する- リバースプロキシサーバを起動してテストする
リバースプロキシを実装する
始めるには、エディタを開きます。エディタから "proxy.js" というファイルが見えるはずです。
このステップでは、Stream pipe を使って GitHub の応答データを直接クライアントに渡す方法を学びます。以下の手順に従ってこのステップを完了しましょう。
proxy.jsファイルで、http.createServer関数内の// TODOコメントを探します。// TODOコメントを以下のコードに置き換えます。
https.get(uri, function (response) {
response.pipe(res);
});
このコードは、Stream pipe を使って GitHub の応答データを直接クライアントに渡します。
proxy.jsファイルを保存します。
リバースプロキシサーバを起動する
このステップでは、リバースプロキシサーバを起動してテストする方法を学びます。
- ターミナルを開き、プロジェクトディレクトリに移動します。
- 以下のコマンドを実行してリバースプロキシサーバを起動します。
node proxy.js
以下の出力が表示されるはずです。
Server running at http://localhost:8080/
- 別のターミナルを開き、以下のコマンドを実行してリバースプロキシをテストします。
curl --connect-timeout 2 -m 5 localhost:8080/pricing | grep GitHub
このコマンドは、リバースプロキシサーバに要求を送信し、それが GitHub ウェブサイトからコンテンツを取得してクライアントに返します。
- ターミナルに GitHub の価格情報が表示されるはずです。

おめでとうございます!Node.js を使って正常にリバースプロキシを作成しました。これで、コードを変更してさまざまなシナリオをテストすることで、リバースプロキシを実験することができます。
まとめ
おめでとうございます!このプロジェクトを完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。



