Рейтинг:0

Apache не отправляет заголовки в PHP через FCGI/PHP-FPM

флаг cn

У меня есть виртуальный хост, настроенный для обработки файлов PHP через прокси: FCGI, и он работает нормально, за исключением того, что PHP не получает пользовательские заголовки и другие, такие как «Происхождение».

Вот мой виртуальный хост Apache 2.4:

<VirtualHost *:80>
    ServerName domain.localhost
    DocumentRoot "/my/host/directory/public"

    DirectoryIndex index.html index.php

    ErrorLog "/my/host/directory/logs/error.log"
    CustomLog "my/host/directory/logs/access.log" common

    SetEnv APPLICATION_ENV local
    Header always set Example01 "*"
    
    <Directory "my/host/directory/public">
        AllowOverride All
        Require all granted
    </Directory>

    <Files ~ "\.php$">
        ProxyFCGIBackendType GENERIC
        SetHandler "proxy:fcgi://127.0.0.1:9000#"
    </Files>
</VirtualHost>

и здесь возвращаемые значения PHP $_SERVER:

Множество
(
    [ПОЛЬЗОВАТЕЛЬ] => никто
    [ГЛАВНАЯ] => /var/пусто
    [SCRIPT_NAME] => /index.php
    [REQUEST_URI] => /
    [QUERY_STRING] => 
    [REQUEST_METHOD] => ПОЛУЧИТЬ
    [ПРОТОКОЛ_СЕРВЕРА] => HTTP/1.1
    [ШЛЮЗ_ИНТЕРФЕЙС] => CGI/1.1
    [REMOTE_PORT] => 55684
    [SCRIPT_FILENAME] => /my/host/directory/public/index.php
    [SERVER_ADMIN] => [email protected]
    [CONTEXT_DOCUMENT_ROOT] => /my/host/directory/public
    [CONTEXT_PREFIX] => 
    [REQUEST_SCHEME] => http
    [DOCUMENT_ROOT] => /my/host/directory/public
    [REMOTE_ADDR] => 127.0.0.1
    [ПОРТ_СЕРВЕРА] => 80
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_NAME] => домен.локальный хост
    [SERVER_SOFTWARE] => Apache/2.4.51 (Unix)
    [СЕРВЕР_ПОДПИСЬ] => 
    [DYLD_LIBRARY_PATH] => /usr/local/apache-2.4.51/lib
    [PATH] => /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
    [HTTP_CONNECTION] => поддерживать активность
    [HTTP_ACCEPT_ENCODING] => gzip, выкачать
    [HTTP_ACCEPT_LANGUAGE] => русский-ru
    [HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, например Gecko) Version/15.1 Safari/605.1.15
    [HTTP_ACCEPT] => текст/html,приложение/xhtml+xml,приложение/xml;q=0.9,*/*;q=0.8
    [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
    [HTTP_HOST] => домен.локальный хост
    [прокси-nokeepalive] => 1
    [APPLICATION_ENV] => локальный
    [FCGI_ROLE] => ОТВЕТЧИК
    [PHP_SELF] => /index.php
    [REQUEST_TIME_FLOAT] => 1636663645.6605
    [REQUEST_TIME] => 1636663645
)

Я ожидал заголовок с именем «Example01» и другие, но ничего. Как я могу заставить его работать?

Рейтинг:0
флаг cn

Инструкция "CGIPassAuth On" решила мою проблему. Моя конфигурация изменилась с

    <Files ~ "\.php$">
        ProxyFCGIBackendType FPM
        SetHandler "proxy:fcgi://127.0.0.1:9002#"
    </Files>
</VirtualHost>

к

    <Files ~ "\.php$">
        CGIPassAuth On
        ProxyFCGIBackendType FPM
        SetHandler "proxy:fcgi://127.0.0.1:9002#"
    </Files>
</VirtualHost>

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.