使用 php-fpm (通过 mod_fastcgi) 时位置指令不起作用

使用 php-fpm (通过 mod_fastcgi) 时位置指令不起作用

我已经配置了一个虚拟主机,除了一个位置(/Public)之外,它应该完全受到 SSL 客户端证书的限制。

我在虚拟主机中的配置:

<Location ~ ^/(?!Public)>
        SSLRequireSSL
        SSLVerifyClient require
        SSLVerifyDepth 10
        SSLOptions +StdEnvVars -ExportCertData
</Location>

我使用 mod_fastcgi 进行了几个测试:
请求时https://myserver.mycompany.com/MyWorkspace,服务器正在请求 SSL 客户端证书 -> 按照设计工作。
请求时https://myserver.mycompany.com/Public/index.html,服务器未请求 SSL 客户端证书 -> 按照设计工作。请求
https://myserver.mycompany.com/Public/index.php,服务器正在请求 SSL 客户端证书 -> 未按照设计工作。

当我使用 mod_php 进行最后一个测试时,服务器没有请求 SSL 客户端证书,这是正确的。

这是正常行为吗,还是我配置错误了?

我的 mod_fastcgi 配置如下:

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 /usr/lib/cgi-bin/php5-fcgi
    FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket
/dev/shm/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>
</IfModule>

Apache 版本:httpd-2.2.15-39.el6.centos.x86_64
PHP 版本:php56w-fpm-5.6.4-1.w6.x86_64

相关内容