除非 php-fpm 也能正常工作,否则阻止 Nginx 提供 php 文件服务

除非 php-fpm 也能正常工作,否则阻止 Nginx 提供 php 文件服务

最近我发现我的服务器输出了 php 代码。原因是 nginx 可以运行,但 php-fpm 无法运行。可以想象,这可能是一个严重的安全威胁。

那么,有没有办法阻止 nginx 提供 php 文件,除非它正在接收来自 php 引擎的响应?我认为这是在 nginx.conf 中进行一些简单的调整,但我还没有解决这个问题。希望有人能帮忙!

server {
listen       80;
server_name example.com;


location / {
    root   /usr/share/nginx/html;
    index index.php  index.html index.htm;
}

error_page  404              /404.html;
location = /404.html {
    root   /usr/share/nginx/html;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root           /usr/share/nginx/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

答案1

您可以编写一个 cron 作业来验证 php-fpm 服务是否正在运行,如果没有运行,则交换 nginx .conf 文件并重新启动 nginx。

相关内容