Рейтинг:0

Набор заголовков Apache отсутствует в ответе сервера, когда php-fpm активен, отображается, когда php-fpm неактивен

флаг us

Проблема: Когда php-fpm включен, заголовки cors, установленные в .htaccess, не отображаются в ответе. Когда php-fpm отключен, в ответе отображаются заголовки cors.

Текущая настройка:

Сервер:

  • Ubuntu 20.04 в облаке Aliyun (регион Шанхай)
  • Apache 2.4, модуль заголовков включен
  • php 7.4 с включенным php7.4-fpm.

В .htaccess я установил:

Заголовок всегда устанавливает Access-Control-Allow-Origin "*"
Заголовок всегда устанавливает Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Заголовок всегда устанавливает Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

В конфигурации vhost я установил:

<VirtualHost *:443>
    ServerName api.test.com
    DocumentRoot /path/to/www
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/www/$1
    ErrorLog /path/to/log
    CustomLog /path/to/log
    <Directory /path/to/www/ >
        Options Indexes FollowSymlinks Includes execCGI
        AllowOverride All
        Require all granted
    </Directory>
    SSLCErtificateFile /path/to/pem
    SSLCertificateKeyFile /path/to/key
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Если я прокомментирую строку # ПроксиПассматч .... и перезапустите apache и php-fpm, заголовки для cors, установленные в .htaccess выше, отображаются, как и ожидалось.

Однако, если в vhost установлен php-fpm, после перезапуска apache и php-fpm заголовки, перечисленные в .htaccess, в ответ не предоставляются.

Ответ в обоих случаях (с php-fpm и без него) все еще действителен, код 200, с некоторым эхо-текстом, который я установил в качестве вывода.

Ошибки не зарегистрированы.

Я никогда не сталкивался с этой проблемой ни в инстансах AWS, ни при разработке в моей локальной среде.

Может ли кто-нибудь указать мне, как php-fpm влияет на заголовки ответов, я делаю что-то неправильно в vhost/htaccess или отсутствуют настройки .ini?

Diogo Braga avatar
флаг cn
Вы нашли решение?

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

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