ฉันมีปลั๊กอิน "ไคลเอ็นต์" ของ wordpress ที่กำหนดเองซึ่งทำการเรียก cURL ไปยังแอป Node บนเซิร์ฟเวอร์ Ubuntu
การโทรทำงานได้อย่างสมบูรณ์จากการติดตั้ง WP ทุกครั้ง ยกเว้นการโทรที่ทุกอย่างทำงานได้ดีจนกระทั่งเมื่อวานนี้ จากนั้นการโทร cURL ต่อไปนี้ก็เริ่มส่งกลับ
ไม่สามารถเชื่อมต่อกับพอร์ต x.x.x.x 3344 หลังจาก 1040 มิลลิวินาที: การเชื่อมต่อถูกปฏิเสธ
$curl = curl_init();
curl_setopt_array($curl, อาร์เรย์(
CURLOPT_URL => 'http://x.x.x.x/wpdata/get',
CURLOPT_PORT => 3344,
CURLOPT_RETURNTRANSFER => จริง
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => จริง
CURLOPT_CUSTOMREQUEST => 'โพสต์'
CURLOPT_POSTFIELDS =>'{
"ข้อความ" : "ข้อมูลโพสต์สั้น ๆ บางส่วน"
}',
CURLOPT_HTTPHEADER => อาร์เรย์(
'ประเภทเนื้อหา: แอปพลิเคชัน/json'
),
));
ถ้า(! $results = curl_exec($curl) ) {
ตาย ( curl_error ( $ curl ) );
}
แอป Node ใช้ Express ซึ่งจัดการโดย PM2 และทำงานโดยไม่ต้องใช้ nginx หรือ Apache ไคลเอนต์เชื่อมต่อโดยตรงโดยใช้การโทร IP:PORT
เซิร์ฟเวอร์ที่โฮสต์แอป Node เป็นเซิร์ฟเวอร์ Ubuntu 18 บน VM ที่มี fail2ban 0.10 แต่จริง ๆ แล้วกฎทั้งหมดถูกปิดใช้งาน (แม้แต่การปิดใช้งาน fail2ban เองก็ไม่สามารถแก้ปัญหาได้)
นอกจากนี้ iptables -L -n ยังไม่แสดงกฎใด ๆ ที่อาจดูเหมือนเป็นการห้ามสำหรับ IP ของเซิร์ฟเวอร์ที่ล้มเหลวหรือพอร์ตการฟัง (หลังจากนั้นปลั๊กอินเดียวกันบนไคลเอ็นต์อื่นจะให้ผลลัพธ์ที่ถูกต้อง)
ทั้ง /etc/hosts.deny และ /etc/hosts.allow ก็ว่างเปล่าเช่นกัน
เริ่มโมโหหลังจากนั้น มีใครรู้บ้างว่าฉันจะค้นหาสาเหตุที่ไคลเอ็นต์รายเดียวได้รับการตอบสนองที่ปฏิเสธการเชื่อมต่อได้ที่ไหน