(ฉันได้อ่านและปรับใช้คำแนะนำ ที่นี่ - มันไม่ได้แก้ปัญหาของฉัน).
ฉันพยายามอ่านหน้าสถานะ PHP-FPM บน Ubuntu 20.04 LTS สิ่งนี้ใช้แพ็คเกจ PHP / PHP-FPM (7.4.3) และ nginx (1.18.0)
ใน /etc/php/7.4/fpm/pool.d/www.conf ฉันไม่ได้แสดงความคิดเห็นในบรรทัด:
pm.status_path = /สถานะ
(และรีสตาร์ท php7.4-fpm) ใน Conf เซิร์ฟเวอร์เริ่มต้นของฉัน ฉันได้เพิ่ม:
ตำแหน่ง / สถานะ {
อนุญาต 10.0.0.0/8;
อนุญาต 127.0.0.1;
ปฏิเสธทั้งหมด
# รวมตัวอย่าง/fastcgi-php.conf;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
}
(และโหลด nginx ใหม่ รายการที่แสดงความคิดเห็นคือการกำหนดค่า fcgi ที่แตกต่างกันเล็กน้อยที่ฉันใช้ที่อื่น - มันใช้งานไม่ได้เช่นกัน) ฉันได้ลองเพิ่มไฟล์ try_files $uri $uri/ =404;
ภายในบล็อกตำแหน่ง - ไม่มีการเปลี่ยนแปลงพฤติกรรม ฉันกำลังเชื่อมต่อจากที่อยู่ที่อนุญาต - และการแสดงความคิดเห็นในบรรทัดอนุญาต/ปฏิเสธไม่มีผลกระทบต่อพฤติกรรม:
- การเข้าถึง http://$MYSERVER/status ส่งคืน 404
- การเพิ่มไดเร็กทอรีที่มีชื่อสถานะในรูทเอกสารจะทำให้ได้ 403 (ไม่อนุญาตให้แสดงไดเร็กทอรี)
- ถ้าฉันวางสคริปต์ PHP ใน $DOCROOT/status/ สคริปต์จะถูกดำเนินการเมื่อฉันป้อน URL ในเบราว์เซอร์ ดังนั้นคำขอจะถูกส่งต่อไปยัง PHP-FPM
ไม่มีรายงานใน /var/log/php7.4-fpm.log หรือ /var/log/nginx/error.log access.log รายงานสถานะ 403/404 เท่านั้น
ดูเหมือนว่า php-fpm นั้นไม่ได้สกัดกั้นคำขอ แต่ส่งต่อไปยัง PHP
ฉันได้ลองใช้สตริงอื่นสำหรับ pm.status_path แล้ว ผลลัพธ์เดียวกัน
ฉันจะรับข้อมูลเชิงลึกเพิ่มเติม / แก้ไขปัญหานี้ได้อย่างไร