2016-05-17 81 views
0

我有一個nodejs服務器,運行在託管的雲計算機上。 HTTP請求http請求中發生的ENOTFOUND錯誤,意味着什麼?

var req = Http.request(options, function(res) { ... } 

與選項

host: "www.mysite.com」  
port: "8080" 
method: 「GET」 
path: 「/someurl」 

此錯誤有時回覆(假設一個超時十)現在

{"code":"ENOTFOUND","errno":"ENOTFOUND","syscall":"getaddrinfo"} 

,問題是什麼這個錯誤可能意味着。

該請求似乎是正確的(正確的路徑,正確的端口,活着的網址和搖擺,路徑中沒有http協議,路徑是在同一臺機器上運行的網站的drupal頁面),它幾乎可以工作時間。有時,沒有明顯的原因,它失敗了。

最近,我注意到,在機器上,關於ipv6的問題和我不得不在sysctl上禁用它,使事情工作。出現關於ipv6的問題後,以可疑的精確度提出問題。也許這個錯誤是由機器本身的一些DNS問題引起的(所以我必須責怪我的主機)?

回答

1

這是DNS錯誤,具體而言,Node無法將主機名「www.mysite.com」解析爲IP地址。

可以有這幾個原因:

  • 主機名是剛剛無效
  • 您的網絡連接出現故障
  • 您的DNS服務器出現故障
  • ,處理「mysite的DNS服務器.com「有問題

作爲單挑:雖然你q uestion是有效的,調試基礎原因(DNS問題)在StackOverflow上是無關緊要的。

+0

當然,因爲我會使用serverfault.com;)我所需要知道的是,如果可能是代碼錯誤或不。非常感謝你!! –