Puncte:0

Getting 503 with apache proxy_fcgi_module [SOLVED]

drapel sa

I'm using CentOS 9 Stream on a VM, trying to setup my apache server to be able to show php content on the web. The server works fine when its just html, but I'm getting these errors (503 in the browser) when I try it with php. My httpd.conf is basically the bare minimum to run a server with virtual hosts, and the only thing I added was the SetHandler for the php files. I'm not very familar with php, but from my understanding what it does is when the server gets a requiest for a php file it calls the php-fpm service to handle it.

Both the httpd and php-fpm services are running and I set the SELinux bool httpd_can_network_connect to 1 as I read this could result in a 503.

/var/log/httpd/error.log says:

[proxy:error] [pid 4807:tid 4812] (111)Connection refused: AH00957: FCGI: attempt to connect to [::]:8000 (*) failed
[proxy_fcgi:error] [pid 4807:tid 4812] [client 192.168.122.1:60494] AH01079: failed to make connection to backend: (null)

my httpd.conf:

Listen                  80
Listen                  8080
User                    apache
Group                   apache
ServerRoot              /etc/httpd
ErrorLog                /var/log/httpd/error.log


LoadModule              mpm_event_module        modules/mod_mpm_event.so
LoadModule              systemd_module          modules/mod_systemd.so
LoadModule              unixd_module            modules/mod_unixd.so
LoadModule              authz_core_module       modules/mod_authz_core.so
LoadModule              dir_module              modules/mod_dir.so

LoadModule              proxy_module            modules/mod_proxy.so
LoadModule              proxy_fcgi_module       modules/mod_proxy_fcgi.so


<Directory />
        Require all denied
</Directory>

<Directory /var/www/html>
        Require all granted
</Directory>

<Directory /srv/www>
        Require all granted
</Directory>


<VirtualHost 192.168.122.60:80>
        DocumentRoot "/var/www/html"
        DirectoryIndex  index.html
</VirtualHost>

<VirtualHost 192.168.122.60:8080>
        DocumentRoot "/srv/www"
        DirectoryIndex  index.php

        <FilesMatch \.php$>
            SetHandler "proxy:fcgi:/run/php-fpm/www.sock"
        </FilesMatch>
</VirtualHost>

and my www.conf:

listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
listen.allowed_clients = 127.0.0.1

SOLUTION: As AlexD pointed out the problem was apache was trying to connent through localhost instead of the socket. I was able to make it work by either changing my config files to listen on 127.0.0.1:9000 If I want to use the unix socket I have to change the httpd.conf like this:

<Proxy "unix:/run/php-fpm/www.sock|fcgi://php-fpm">
   ProxySet disablereuse=off
</Proxy>

<FilesMatch \.php$>
   SetHandler proxy:fcgi://php-fpm
</FilesMatch>

Found this config here: https://tecadmin.net/install-apache-php-fpm-centos-8/

Puncte:0
drapel jp

Mesajul de eroare (111)Conexiune refuzată: AH00957: FCGI: încercarea de conectare la [::]:8000 (*) a eșuat indică faptul că Apache-ul dvs. încearcă să se conecteze la un backend pe un port TCP 8000 în timp ce dvs PHP-FPM ascultă pe un socket Unix /run/php-fpm/www.sock. Probabil ați uitat să reporniți Apache.

bejgli avatar
drapel sa
Am repornit httpd după fiecare schimbare de configurare. Cum altfel aș putea remedia asta dacă aceasta este problema? Cel puțin am înțeles puțin mai bine problema, mulțumesc!
drapel jp
Dacă ați repornit Apache, atunci configurația pe care ați postat-o ​​nu se potrivește cu configurația de rulare din anumite motive.
bejgli avatar
drapel sa
Am trecut la fișierele de configurare pentru a asculta pe 127.0.0.7:9000 și am reușit să ajung la site-ul meu. Cu portul 8000, serviciul php-fpm nu ar porni.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.