今天要给ldap搭个web界面(lam),结果配好之后发现一直报Access Denied,于是打开错误日志看个究竟。
因为使用的是nginx做web服务器,所以找到nginx的error日志文件,发现如下报错:
2017/12/04 15:17:11 [error] 9680#0: *52296 FastCGI sent in stderr: "Access to the script '/data/server/lam/index.html' has been denied (see security.limit_extensions)" while reading response header from upstream, client: X.X.X.X, server: _, request: "GET /lam/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "-"

经过查找资料发现从5.3.9开始,php官方加入了一个配置"security.limit_extensions",默认状态下只允许执行扩展名为".php"的文件,造成了其他类型的文件不支持的问题。
所以更改策略如下:
修改/usr/local/php/etc/php-fpm.conf,找到security.limit_extensions(是注释掉的)把他改为:
security.limit_extensions=.php .html .js .css .jpg .jpeg .gif .png .htm#(常用的文件扩展名)
就恢复正常了!