由于在ubuntu 16.04 LTS中mod_ratelimit有时无法与php7.0-fpm和apache 2.4.29一起正常使用,因此我尝试通过ppa:ondrej / apache2将apache升级到2.4.34版本。 apache升级成功,并且一切正常,但是如果我在“ /”位置启用了mod_ratelimit,则php脚本将停止工作。 这是我在虚拟主机中的配置:
<IfModule mod_ratelimit.c>
<Location "/">
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
SetEnv rate-initial-burst 0
</Location>
</IfModule>
相反,如果我将mod_ratelimit配置为另一个位置,例如“ / test”,在“ / test”位置的内部和外部正确处理了php脚本,并且“ / test”内部的内容受到了正确的限制。 这是工作配置:
<IfModule mod_ratelimit.c>
<Location "/test">
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
SetEnv rate-initial-burst 0
</Location>
</IfModule>
这是我的php7.0-fpm配置:
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
<IfModule mod_fastcgi.c>
AddHandler php7-fcgi .php
Action php7-fcgi /php7-fcgi
Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -idle-timeout 120 -pass-header Authorization
</IfModule>
<IfModule mod_fastcgi.c>
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler php7-fcgi
</FilesMatch>
</IfModule>
有什么想法吗? 谢谢