私はphpとcurlを使って内部プロキシをセットアップしました。ほとんどの場合、HTTP_HOSTヘッダーフィールドの設定に問題があります。これは私が使用していたコードです:私のコンテンツサーバ上で、PHPカール:問題設定HTTP_HOST
$data_server_url = "http://IP_ADDRESS_OF_MY_CONTENT_SERVER/";
$request_uri="";
if(isset($_SERVER['REQUEST_URI'])) { $request_uri = $_SERVER['REQUEST_URI']; };
$curl_url="${data_server_url}${request_uri}";
//Pass all these fields as-they-are-got from the client to the content server.
$field_array=array("HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET",
"HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_CONNECTION",
"HTTP_HOST", "HTTP_REFERER", "HTTP_USER_AGENT");
$curl_request_headers=array();
foreach ($field_array as &$field) {
if(isset($_SERVER["$field"])) {
$curl_request_headers["$field"]=$_SERVER["$field"];
} else {
$curl_request_headers["$field"]="";
};
};
//Open connection
$curl_handle = curl_init();
//Set the url, number of POST vars, POST data
curl_setopt($curl_handle, CURLOPT_URL, $curl_url);
curl_setopt($curl_handle, CURLOPT_POST, count($_POST));
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $_POST);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $curl_request_headers);
//Execute post
$result = curl_exec($curl_handle);
//Close connection
curl_close($curl_handle);
ただし、プロキシサーバー::上
コード、$ _SERVER [ 'HTTP_HOST']に設定されています独自のIPアドレス(nullまたはプロキシサーバーがアクセスされるHTTP_HOST変数である必要があります)。
誰でも修正案を提案できますか? the documentationから
ありがとうございます。これはうまくいった! –