403 Запрещено в файлах JS / CSS после переключения Apache на использование Event MPM и php-fpm

(Я вижу, что есть несколько существующих вопросов об ошибках 403 и один или два из остальных части моей конфигурации, но ничего, что, кажется, соответствует моей конкретной ситуации, которую я видел до сих пор, и я не уверен, как действовать в результате.)

У меня есть промежуточный сайт на CentOS 7 сервер (CentOS Linux версии 7.6.1810 (Core)) под управлением Apache / 2.4.6. Корневой каталог сайта - / var / www / / web-ssl . Это Drupal 8.6.12. site, PHP 7.1.27.

Сегодня я выполнил следующие шаги, чтобы изменить apache с использования prefork MPM на event MPM и использовать php-fpm:

1) запустил yum install php71w-fpm

2) добавлен прокси SetHandler: fcgi: //127.0.0.1: 9000 " до /etc/httpd/conf.d/php.conf (полное содержимое моего php.conf выглядит следующим образом):

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php7-script .php
AddType text/html .php
SetHandler "proxy:fcgi://127.0.0.1:9000"

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path    "/var/lib/php/session"
php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"

3 ) Раскомментировал строку mpm_event в 00-mpm.conf, закомментировал строку mpm_prefork

4)

systemctl enable php-fpm
systemctl start php-fpm
systemctl restart httpd

В /etc/php-fpm.d/ , в обоих www.conf и .conf У меня есть раскомментированные строки user = apache и group = apache и listen = 127.0.0.1:9000 .

Мой сайт работает, но все файлы JS и CSS теперь не загружаются с ошибкой 403. Владелец и группа этих файлов - "apache". Поскольку Drupal использует множество этих файлов, я не проверял значения разрешений для каждого отдельного файла, но это происходит как минимум с 755 и 644. Я сам сегодня не менял никаких прав доступа к файлам.

Я думаю, что это связано с строка прокси в php.conf, но я понятия не имею, что с этим делать.

0
задан 17 April 2019 в 00:10
1 ответ

Я смог исправить это по предложению Фредди, окружив SetHandler "proxy: fcgi: //127.0.0.1: 9000" в / etc / httpd /conf.d/php.conf с предложением FilesMatch:

<FilesMatch "\.php$">
    <If "-f %{REQUEST_FILENAME}">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </If>
</FilesMatch>
1
ответ дан 4 December 2019 в 15:43

Теги

Похожие вопросы