0
我有以下問題。我們的公司網絡中有一臺運行在CentOS上的私人服務器。代理服務器在Windows上運行NTLMV2認證。PHP文件可以從終端訪問全局網絡,但不能從apache訪問
因此,我在我的CentOS服務器上安裝了cntlm以訪問所需的資源。一切正常。通過我所說的一切,當從終端運行時,curl,wget和yum可以正確使用此cntlm代理。
但是,有一件事情是行不通的。我們還在此服務器上運行Apache + PHP + MySQL實例。訣竅是 - 它無法以某種方式訪問代理。下面是示例PHP文件,捲曲工作:
<?php
$url = "http://www.google.com";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_PROXY, 'http://127.0.0.1:3128');
$data = curl_exec($ch);
if ($data == FALSE) echo curl_error($ch);
curl_close($ch);
var_dump($data);
?>
當我執行這個命令行:
php curl.php | tail -n 10
一切的偉大工程,它可以通過此代理訪問的全球資源。但是,如果我從瀏覽器頁面運行它,Apache無法連接,並給出錯誤「無法連接到127.0.0.1:權限被拒絕」