(Tôi đã đọc và áp dụng các khuyến nghị đây - nó không giải quyết được vấn đề của tôi).
Tôi đang cố đọc trang trạng thái PHP-FPM trên Ubuntu 20.04 LTS. Điều này đang sử dụng gói PHP/PHP-FPM (7.4.3) và nginx (1.18.0)
Trong /etc/php/7.4/fpm/pool.d/www.conf, tôi đã bỏ ghi chú dòng:
pm.status_path = /trạng thái
(và khởi động lại php7.4-fpm). Trong conf máy chủ mặc định của tôi, tôi đã thêm:
vị trí/trạng thái {
cho phép 10.0.0.0/8;
cho phép 127.0.0.1;
Phủ nhận tất cả;
# bao gồm đoạn trích/fastcgi-php.conf;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
(và đã tải lại nginx. Mục đã nhận xét là một cấu hình fcgi hơi khác mà tôi sử dụng ở nơi khác - nó cũng không hoạt động). Tôi cũng đã thử thêm một try_files $uri $uri/ =404;
hủy bỏ khối vị trí - không thay đổi hành vi. Tôi đang kết nối từ một địa chỉ được phép - và việc nhận xét các dòng cho phép/từ chối không ảnh hưởng đến hành vi:
- truy cập http://$MYSERVER/status trả về lỗi 404
- Việc thêm một thư mục có tên là status trong tài liệu gốc dẫn đến lỗi 403 (không cho phép liệt kê thư mục).
- Nếu tôi đặt một tập lệnh PHP trong $DOCROOT/status/ thì nó sẽ được thực thi khi tôi nhập URL của nó vào trình duyệt của mình - vì vậy yêu cầu sẽ được chuyển đến PHP-FPM.
Không có gì được báo cáo trong /var/log/php7.4-fpm.log cũng như /var/log/nginx/error.log . Access.log chỉ báo cáo trạng thái 403/404.
Có vẻ như php-fpm chỉ đơn giản là không chặn yêu cầu mà chuyển giao nó cho PHP.
Tôi cũng đã thử với một chuỗi khác cho pm.status_path. Cùng một kết quả.
Làm cách nào tôi có thể hiểu thêm/khắc phục sự cố này?