2015-06-16 61 views
0

我在我的筆記本電腦上安裝了一個可在本地和互聯網上訪問的wamp服務器。域名是educirajse.com,它指向我的IP地址95.180.202.54:81。 http請求通過2個路由器轉發到我的本地靜態IP地址:192.168.1.130。我的網絡服務器可以通過互聯網通過瀏覽器訪問,但是當我嘗試從另一個網絡服務器訪問CURL的某些腳本時,我收到錯誤28-連接超時。 我使用了兩個不同的網絡服務器,情況是一樣的!有趣的是,CURL在WAMP本地工作,例如,我可以通過CURL從我的WAMP Web服務器進行PayPal和Payza付款,但是當我嘗試從另一個Web服務器向我的wamp Web服務器發送CURL請求時我總是收到連接超時或無法連接到主機...!我試圖禁用防火牆,但無濟於事......!以下是一個提取網頁的示例腳本,但不幸的是,無法通過我的wamp網絡服務器獲取我在educirajse.com上託管的網站!它獲取所有其他頁面,但不是託管在我的wamp Web服務器上的頁面,並且錯誤日誌或訪問日誌中沒有任何內容......!WAMP 2.2網絡服務器未接收到互聯網傳入的CURL請求

那麼,爲什麼我的WAMP服務器不接收來自互聯網的CURL請求,而是在本地接收它們?

<?php 
$curl = curl_init(); 
curl_setopt ($curl, CURLOPT_URL, "http://educirajse.com:81"); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 "); 
curl_setopt($curl, CURLOPT_TIMEOUT, 100); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_VERBOSE,true); 
$res=curl_exec ($curl); 
var_dump(curl_getinfo($curl)) . '<br/>'; 
echo curl_errno($curl) . '<br/>'; 
echo curl_error($curl) . '<br/>'; 
echo $res; 
curl_close ($curl); 
?> 
+0

我敢打賭,防火牆阻止了端口。 81也不是標準的港口。 – Machavity

回答

0

我敢打賭,你的路由器內置了防火牆,或者你沒有將端口映射到指向有問題的計算機。

如果是端口映射,那麼你將需要登錄到您的路由器轉發端口81到機器的內部IP要到Web服務器響應請求端口80上

我建議你說明你正在使用什麼路由器,以及是否有端口轉發設置。一旦我們知道路由器正在運行的路由器和固件版本,我們可以更好地指導您做什麼,以便這個問題將成爲過去。

80也不是web服務器的默認端口。端口80是默認端口。我仍然建議你看看你的端口轉發通過你的路由器。

我個人在家中知道我已經爲我的網絡服務器設置了一個靜態IP,並且我已經將端口80轉發給了這個靜態IP。

+0

我終於做到了! :)問題不在我的端口轉發,也不在我的網絡服務器!我的域名指向Godaddy配置的端口81,所以我不必要地將端口81連接到我的域名(educirajse.com:81)......!我只是從我的域名中刪除了端口81,並且CURL請求開始被我的wamp網絡服務器接收...! :)謝謝@JosephCrawford的幫助......! :) –

+0

是的端口81是不是一個正常的端口,端口80是如此,除非你設置本地服務器,並將其設置爲在端口81上聽,它不會聽到外界的任何東西:)很高興你的問題解決了。請接受這個答案,如果它是幫助你解決問題的答案。 –

+0

與此相關,我現在面臨一個真正奇怪的問題!當我在CURL中使用域名(educirajse.com)時,我無法訪問我的服務器,但是當我使用服務器的靜態IP地址95.180.202.54:81時,我可以完全訪問該PHP腳本... !域名educirajse.com有效,它指向靜態IP地址95.180.202.54:81。即使使用上述腳本也會發生同樣的情況!任何想法爲什麼curl不想用我的域名連接到我的web服務器,但它與靜態IP地址連接? –

相關問題