2011-01-22 203 views
2

我正在尋找關於如何完成此任務的建議。我想讓服務器位於客戶端和實際服務器之間。例如:通過服務器/代理服務器

Client -> Proxy Type Server -> Web Server. 

所以換來的Web服務器將結果傳遞到回報給結果返回給客戶端的代理服務器。例如:

Client <- Proxy Type Server <- Web Server 

這裏有一個圖,如果它使生活更輕鬆:

A diagram

如果只是簡單的GET請求不是一個問題,但我不知道它是如何工作的,如果客戶發佈數據。我希望有人能就此提出建議。謝謝,如果你可以!

+0

@Bruce我們可以知道你想要這樣的結構的原因嗎? – 2011-01-22 14:04:10

回答

1

我不確定你的問題是什麼......如果你在你的客戶端和應用服務器之間建立一個代理服務器,那麼它就是這樣的:代理服務器。所以它會將請求代理到應用程序服務器,就像您在圖表中顯示的一樣。如果客戶端POST s的數據給代理,代理服務器將POST相同的數據到應用服務器,並返回到客戶端的響應...

你問如何建立這樣的事情?

編輯:我要採取這裏胡亂猜測......

如果只是簡單的GET請求不是一個問題,但我不知道它會如何,如果客戶端工作在發佈數據

你的意思是客戶端POST荷蘭國際集團以「代理服務器」在PHP或Ruby腳本,像魷魚或Apache的不是實際代理服務器?如果是這樣,你是問如何使用PHP將POST數據發送到應用程序服務器?如果這是你的問題,這裏的答案:

<?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; 
+0

嗨喬希,是的,但我需要訪問結果發送到客戶端之前。 – Lee 2011-01-22 17:05:57