dsgnze6572 2014-12-15 10:41
浏览 66
已采纳

apache + php-fpm:Apache突然将一些png请求转发给php-fpm

Recently set up PHP-FPM on a server with apache and it's working marvellously, however some png files I'm getting access denied for example https://socialsavanna.com/scripts/candy-1.6.0/res/img/action/statusmessage-off.png

In the error logs i'm getting

FastCGI: server "/{DirectoryToCGIBin}/php5-fcgi" stderr: Access to the script '/{DirectoryToWebsite}/scripts/candy-1.6.0/res/img/action/statusmessage-on.png' has been denied (see security.limit_extensions)

Other pngs are working fine, why is Apache forwarding this to FastCGI to parse as a PHP file? any ideas how I stop this?

Thanks

Edit: Configuration

LoadModule fastcgi_module modules/mod_fastcgi.so

<IfModule mod_fastcgi.c>
    DirectoryIndex index.php index.html index.shtml index.cgi
    AddHandler php5-fcgi .php
    Action php5-fcgi /php5-fcgi
    Alias /php5-fcgi /{DirectoryToCGIBin}/php5-fcgi
    FastCgiExternalServer /{DirectoryToCGIBin}/php5-fcgi -socket /{socketPath}/php5-fpm.sock -pass-header    Authorization

    # For monitoring status with e.g. Munin
    <LocationMatch "/(ping|status)">
            SetHandler php5-fcgi-virt
            Action php5-fcgi-virt /php5-fcgi virtual
    </LocationMatch>

  • 写回答

1条回答 默认 最新

  • donglin6109 2014-12-15 11:39
    关注

    It's obviously your LocationMatch which has "status" in the regex, which matches your filename statusmessage-on.png.

    Without more details of what you had expected to match, it will be hard to suggest how to make that more specific. If you meant the URL to start with either of those things, try

    <LocationMatch "^/(ping|status)">
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?