Php

無法 cURL 到 NodeJS,但可以從瀏覽器訪問它

  • November 15, 2017

我可以http://18.220.168.1:8888從瀏覽器訪問我的測試節點站點 ( ) 就好了。但是,當我嘗試使用 PHP 的 cURL 進行 cURL 時,我得到:

Array
(
   [curl_error] => Failed to connect to 18.220.168.1 port 8888: Connection refused
   [error_number] => 7
)

我的 cURL 設置是:

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

// Temporary for testing self-signed sites
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
   'Content-Type: '.$data_type,                                                                                
   'Content-Length: ' . strlen($data),
   'Public-Key: ' . $pub_key,
   'Private-Key: ' . $priv_key,
   'Authorization: Bearer ' . $pub_key,)                                                                       
);

$result = curl_exec($ch);

我在亞馬遜的 EC2 上託管,並且埠是開放的(顯然因為我可以通過瀏覽器訪問它)。知道我在這裡做錯了什麼嗎?

謝謝

編輯

我剛剛用resteasy的測試儀測試過,它連接得很好。所以它必須是 cURL 請求中的東西,或者瀏覽器之間的東西。

我覺得自己好傻。我剛剛意識到我是從安裝了 CSF 的 cPanel 伺服器上執行此操作的。將此埠添加到 CSF 後,它起作用了。我會留下這個,以防它幫助其他有腦子放屁的人。

引用自:https://serverfault.com/questions/883561