Назад | Перейти на главную страницу

Директива Location не работает при использовании php-fpm (через mod_fastcgi)

Я настроил виртуальный хост, который должен быть полностью ограничен сертификатом клиента SSL, за исключением одного места (/ Public).

Моя конфигурация на моем виртуальном хосте:

<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