CentOS 7 で Apache を使って実行している Web アプリケーションがあり、xmlhttprequest と fetch API を使用して同じマシンで実行されている Express Server (NodeJS) にアクセスしています。Web アプリケーションは着信接続にポート 80 を使用していますが、Express Server はポート 3001 でリッスンしています。
Web アプリケーションを展開する際に、Express Server のポート 3001 との通信を行うためにフォワード プロキシとリバース プロキシのどちらが必要か迷っています。どちらのプロキシを構成すればよいでしょうか?
答え1
あなたが説明しているのはリバースプロキシです。
通常の (「フォワード」) プロキシは、1 つのクライアントまたはクライアントのセットにサービスを提供して、クライアントによって要求されたリモート サーバーへのアクセスを許可します。
リバース プロキシは任意のクライアントにサービスを提供して、1 つのサーバーまたはサーバーのセットへのアクセスを許可します。
ただし、そうおっしゃる場合need the web app to continue sending [its] typical html response
、Web アプリはプロキシとして動作していないため、リバース プロキシや何らかのプロキシは必要ないと思います。ポート 80 で実行されている Web アプリに、Node.js サーバーに独自のリクエストを送信し、その応答を解釈してクライアントに回答を提供するアプリケーション コードがある場合、プロキシは存在せず、Apache フロントエンド サーバーとバックエンド Node.js サーバーが存在します。図のプロキシは、フロントエンド サーバーとバックエンド サーバーの間にあり、フロントエンド Apache サーバーとは異なるものです。