node.js กับ Error: connect ECONNREFUSED

node.js กับ Error: connect ECONNREFUSED

หากกำลังเจอปัญหา ที่มี error หน้าตาแบบนี้

Error: connect ECONNREFUSED
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19) 

มันคือปัญหาที่แจ้งว่า ไม่สามารถเรียกไปยัง address:port ที่เรากำลังใช้งานได้ครับ script บางคนอาจจะใช้ localhost แท้ๆ แต่ก็ยังไม่สามารถเรียกได้ ทดสอบเบื้องต้นให้ลองเปลี่ยน localhost เป็น 127.0.0.1 หากทำงานได้ แปลว่าคุณมีปัญหากับ ไฟล์ hosts ครับ (/etc/hosts ใน linux) ก็คือ ให้ไปเพิ่มบรรทัดแรก ดังนี้

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

เท่านี้ localhost:port ก็จะใช้งานได้

แต่หากยังใช้งานไม่ได้ ให้ตรวจสอบ firewall ว่าเปิด port ดังกล่าวแล้วหรือยัง เพราะว่าบางที ตัวเองก็ block ตัวเองอยู่ พึ่ง dev แต่ลืมเปิด port ดังกล่าวได้เหมือนกัน

หากยังทำงานไม่ได้อีก ให้ตรวจสอบว่า app ที่รันอยู่ที่ port ดังกล่าว ใช้งานได้จริงหรือเปล่า ซึ่งการตรวจสอบ ก็แตกต่างกันไปขึ้นอยู่กับว่าเขียนให้เป็นแบบไหนครับ http หรือ socket หรืออื่นๆ อาจจะทดสอบง่ายๆด้วยการ telnet ดูครับ แต่เราก็ต้องรู้ก่อนว่า การทำงานที่ปกตินั้นต้องเป็นอย่างไร ซึ่งตรงนี้ จะขึ้นอยู่กับ app ที่รัน ใน port นั้นๆแล้วล่ะครับ ว่าตัวคุณเองเขียนอะไรลงไป 555

Create: Modify : 2013-08-03 09:54:20 Read : 2016 URL :