ฉันเพิ่งติดตั้ง Nginx ล่าสุดด้วย PHP7.4-fpm บนเซิร์ฟเวอร์ Ubuntu 20.04.2 ใหม่
ฉันเพิ่มโฮสต์เสมือนที่มีไซต์ WordPress อยู่และโหลดได้ดี แต่ฉันสังเกตเห็นว่าบันทึก nginx ถูกโจมตีด้วยข้อผิดพลาดดังต่อไปนี้:
[ข้อผิดพลาด] 183472#183472: การเชื่อมต่อ *625() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: xx.xxx.xxx.xx เซิร์ฟเวอร์: example.com คำขอ: "GET /some-page-name / HTTP/1.1", อัปสตรีม: "fastcgi://[::1]:8001", โฮสต์: "example.com", ผู้อ้างอิง: "https://example.com/"
ในกูเกิลเกี่ยวกับเรื่องนี้ ฉันค้นพบจาก คำตอบที่สอง เกี่ยวกับเรื่องนี้ เธรด ServerFault นั่นเป็นเพราะฉันใช้ที่อยู่ ipv6 และฉันสามารถแก้ไขได้โดยการแทนที่ โลคัลโฮสต์
กับ 127.0.0.1
ในไฟล์บล็อกเซิร์ฟเวอร์ nginx ตั้งแต่ fastcgi://[::1]:8001
จะไม่ทำงาน
ฉันทำการเปลี่ยนแปลงใน /etc/nginx/sites-available/example.com.conf
และเปลี่ยนบรรทัดต่อไปนี้:
fastcgi_pass localhost:8001;
ถึง:
fastcgi_pass 127.0.0.1:8001;
และตามความคิดเห็นในเรื่องเดียวกันนั้น ความผิดพลาดของเซิร์ฟเวอร์ ตอบ ใน /etc/nginx/sites-available/default
ฉันเปลี่ยนบรรทัดต่อไปนี้:
ฟัง 80 default_server;
ถึง:
ฟัง 0.0.0.0:80 default_server;
อย่างไรก็ตาม หลังจากทำการเปลี่ยนแปลงข้างต้นและรีสตาร์ท nginx & php7.4-fpm หากฉันตรวจสอบโหมดการดำเนินการ PHP ในแผงควบคุมเซิร์ฟเวอร์ (Virtualmin) ทั้งสองตัวเลือกที่มีอยู่ FCGId
หรือ เอฟพีเอ็ม
กำลังถูกใช้
เมื่อฉันเลือก FPM และคลิกบันทึก fastcgi_pass 127.0.0.1:8001;
บรรทัดในไฟล์บล็อกเซิร์ฟเวอร์ nginx เปลี่ยนกลับเป็น fastcgi_pass localhost:8001;
และข้อผิดพลาดข้างต้นเริ่มปรากฏขึ้นอีกครั้ง
เดอะ ฟัง 0.0.0.0:80 default_server;
ไม่ได้เปลี่ยนกลับเมื่อรีสตาร์ท nginx หรือ fpm อย่างไรก็ตาม
ฉันจะสั่งให้ FPM ใช้ที่อยู่ ipv4 แทนที่อยู่ ipv6 ได้อย่างไร
NB ฉันได้ลองเปลี่ยน ฟัง = /run/php/php7.4-fpm.sock
ถึง ฟัง = 127.0.0.1:8000
ใน /etc/php/7.4/fpm/pool.d/www.conf
จากนั้นทำตามขั้นตอนข้างต้น แต่นั่นไม่ได้ช่วยอะไรและสิ่งเดียวกันก็เกิดขึ้น
ป.ล. ปัญหานี้ไม่เกี่ยวข้องกับแผงควบคุมที่ฉันใช้เนื่องจากมีโพสต์ ServerFault ค่อนข้างน้อยและหลายกระทู้ในฟอรัมออนไลน์ที่ดูเหมือนว่าจะเกี่ยวข้องกับปัญหานี้เมื่อพวกเขาพยายามใช้ PHP-FPM ด้วยการติดตั้ง ipv4/ipv6 แบบดูอัลสแต็ก เห็นได้ชัดว่า.