Forward- oder Reverse-Proxy?

Forward- oder Reverse-Proxy?

Ich habe eine Webanwendung, die unter CentOS 7 mit Apache läuft und die XMLHTTPREQUEST- und Fetch-APIs verwendet, um auf einen Express-Server (NodeJS) zuzugreifen, der auf derselben Maschine läuft. Meine Webanwendung verwendet Port 80 für eingehende Verbindungen, während mein Express-Server auf Port 3001 lauscht.

Beim Bereitstellen meiner Webanwendung bin ich mir nicht sicher, ob ich einen Forward-Proxy oder einen Reverse-Proxy benötige, um die Kommunikation mit Port 3001 des Express-Servers zu ermöglichen. Welchen Proxy sollte ich konfigurieren?

Diagramm der Web-App

Antwort1

Was Sie beschreiben, ist ein Reverse-Proxy.

Ein normaler („Forward“) Proxy bedient einen Client oder eine Gruppe von Clients und ermöglicht den vom Client angeforderten Zugriff auf Remote-Server.

Ein Reverse-Proxy dient jedem Client und ermöglicht den Zugriff auf einen oder mehrere Server.

Wenn Sie jedoch sagen, dass Sie need the web app to continue sending [its] typical html response, dann fungiert die Webanwendung nicht als Proxy, und ich glaube nicht mehr, dass Sie einen Reverse-Proxy oder irgendeine Art von Proxy haben oder brauchen. Wenn in der Webanwendung Anwendungscode auf Port 80 ausgeführt wird, der seine eigenen Anfragen an den Node.js-Server stellt und die Antwort interpretiert, um dem Client eine Antwort bereitzustellen, dann haben Sie keinen Proxy, sondern einen Apache-Frontend-Server und einen Backend-Node.js-Server. Der Proxy in Ihrem Diagramm befindet sich zwischen dem Frontend- und dem Backend-Server, er ist etwas anderes als Ihr Frontend-Apache-Server.

verwandte Informationen