Используя ProxyPassMatch для FastCGI, результатов в соединении, которому отказывают на порте 9000

Несколько проблем в Вашем снимке экрана:

  1. regex шаблон, который Вы имеете в поле Pattern, только собирается соответствовать числам после последней наклонной черты в URL. "files/subdir/1234" будет соответствовать. "files/subdir/app.exe" не будет соответствовать. Вам нужно ^files/([_0-9a-z-]+)/(.*) в поле шаблона. Или если все, в чем Вы нуждаетесь, является чем-нибудь с / файлами, можно использовать ^files/(.*). Функцией Test Pattern является Ваш друг здесь.

  2. Я проверил бы, Игнорируют Регистр, но это ваше дело для Вашего конкретного сценария.

  3. Тип действия должен быть "Перенаправлением"

  4. Принятие Вы используете ^files/(.*) для Вашего regex шаблона URL Перенаправления должен быть: http://downloads.openeye.net/files/{R:1}

Это означало бы, что кто-то, кто вводит http://yourdomain.com/files/whatever.exe, перенаправить на http://downloads.openeye.net/files/whatever.exe

Или если у них будет более длинный URL как http://yourdomain.com/files/dir1/dir2/whatever.exe, то он будет все еще прикрепляться на конце нового URL (http://downloads.openeye.net/files/dir1/dir2/whatever.exe).

3
задан 9 May 2014 в 00:00
2 ответа

Проверить, работает ли PHP-FPM . В журнале ошибок указано, что apache не может подключиться к 127.0.0.1:9000. Запустите его, и (возможно) ошибка исчезнет.

Также проверьте, работает ли PHP-FPM через сокет. Возможно, он работает, но не прослушивает стек TCP / IP.

3
ответ дан 3 December 2019 в 05:43

Согласно комментарию Криса, я просто хотел добавить, если apache / php поддерживает соединения с сокетами (похоже, что если apache> 2.4.10, он может его поддерживать), вы также можете изменить его, чтобы использовать его в своей конфигурации apache. Я проверил файл php vi /etc/php/7.0/fpm/pool.d/www.conf, чтобы увидеть, какой сокет слушает в строке прослушивания:

listen = /run/php/php7.0-fpm.sock

Затем добавил это в свой / etc / apache2 / sites-enabled / 000-default.conf (или любой другой веб-сайт, который вы хотите включить) ...

<FilesMatch \.php$>
    # 2.4.10+ can proxy to unix socket
    # SetHandler "proxy:unix:/var/run/php?-fpm.sock|fcgi://localhost/"

    # Else we can just use a tcp socket:
    # SetHandler "proxy:fcgi://127.0.0.1:9000"

    SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost/"
</FilesMatch>

Затем перезапустите веб-сервер, и тогда мне откроется index.php:

sudo service apache2 restart
2
ответ дан 3 December 2019 в 05:43

Теги

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