Sep 13 2015
Reverse Proxy Apache Permission Refusée Erreur 503
Apache configuré en tant que reverse proxy transfère les requêtes au backend web. Seulement, votre navigateur s’obstine à renvoyer une erreur 503: “Service temporairement indisponible”
La première chose que je fais est de jeter un oeil aux logs HTTP dans /var/log/httpd/ssl_error_log, où je découvre une erreur de droit:
(13)Permission denied: proxy: HTTP: attempt to connect to 192.168.1.250:8080 (*) failed
L’erreur peut aussi se manifester par des:
AH01114: HTTP: failed to make connection to backend
Si SELinux est activé sur votre système, c’est probablement la source du problème. SELinux interdit Apache de créer des connexions vers l’extérieur. Vous pouvez le vérifier en le désactivant temporairement dans /etc/selinux/config. Un reboot est nécessaire ensuite.
si c’est confirmé, réactivez SELinux pour garrder un niveau de sécurité élevé, et ajoutez la règle d’exception:
$ sudo setsebool -P httpd_can_network_connect 1
Cette varriable permet aux processus et modules HTTPD de se connecter au réseau. Il existe d’autres variables booléennes ajoutant des restrictions à HTTPD. Pour les lister, exécutez getsebool -a | grep httpd.
Vous trouverez des variables intéressantes dans cette liste comme:
– httpd_can_network_connect_db (off par défaut)
– httpd_enable_ftp_server (off par défaut)
– httpd_enable_cgi (on par défaut)
etc…
L’option -P permet de rendre les changements persistants au boot. Vous devrez éventuellement relancer Apache
$ sudo /etc/init.d/httpd restart
Cette erreur est connue et documentée sur le site d’Apache