3 Stimmen

Durchgangsserver / Proxy

Ich bin auf der Suche nach Ratschlägen, wie man das machen kann. Ich möchte einen Server zwischen dem Client und dem eigentlichen Server einfügen. Zum Beispiel:

Client -> Proxy Type Server -> Web Server.

Im Gegenzug würde der Webserver die Ergebnisse an den Proxyserver weiterleiten, der sie wiederum an den Client zurückgibt. Zum Beispiel:

Client <- Proxy Type Server <- Web Server

Hier ist ein Diagramm, falls es das Leben leichter macht:

A diagram

Wenn es sich nur um einfache GET-Anfragen handelt, ist das kein Problem, aber ich bin mir nicht sicher, wie es funktionieren würde, wenn der Client Daten sendet. Ich hoffe, jemand kann mich diesbezüglich beraten. Vielen Dank, wenn Sie können!

2voto

Josh Punkte 10990

Ich bin mir nicht sicher, was Ihre Frage ist... Wenn Sie einen Proxyserver zwischen Ihrem Client und dem Anwendungsserver einrichten, dann ist er genau das: ein Proxyserver. Er leitet also Anfragen an den Anwendungsserver weiter, genau wie Sie es in Ihrem Diagramm dargestellt haben. Wenn ein Client POST Daten an den Proxy übermittelt, wird der Proxy-Server POST dieselben Daten an den Anwendungsserver und geben die Antwort an den Client zurück...

Sie fragen wie um so etwas einzurichten?

EDITAR: Ich stelle mal eine wilde Vermutung an...

Wenn es sich nur um einfache GET-Anfragen handeln würde, wäre das kein Problem, aber ich bin mir nicht sicher, wie es funktionieren würde, wenn der Client Daten senden würde

Meinen Sie, dass der Kunde POST in Bezug auf ein PHP- oder Ruby-Skript auf dem "Proxy-Server", und nicht ein aktuell Proxy-Server wie Squid oder Apache's mod_proxy ? Wenn ja, möchten Sie wissen, wie Sie diese POST-Daten mit PHP an den Anwendungsserver senden können? Wenn das Ihre Frage ist, hier ist die Antwort:

<?php

$application_server = '1.2.3.4'; // replace with IP or hostname of application server
$uri = $_SERVER['REQUEST_URI']; // you may need to change this, not sure from your question.

$curl = curl_init("http://{$application_server}{$uri}");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS,$_POST);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$data = curl_exec($curl);

// do something with $data, transform it however you want...

echo $data;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X