"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Hôte virtuel Apache : ajout d'un proxy inverse

Hôte virtuel Apache : ajout d'un proxy inverse

Publié le 2024-11-08
Parcourir:632

Apache Virtual Host: Adding reverse proxy

Qu'est-ce qu'un proxy inverse ?

Un proxy inverse agit comme un intermédiaire qui transmet les demandes des clients à d'autres serveurs. Il est souvent utilisé pour l'équilibrage de charge, la sécurité, la mise en cache ou pour transférer des requêtes HTTP vers des serveurs backend (par exemple, une application exécutée sur Node.js, Python, PHP ou un autre serveur).

Apache vous permet de configurer cela à l'aide de ses modules mod_proxy et mod_proxy_http. Voici un guide sur la façon de procéder.

Scénario

Nous allons configurer Apache comme proxy inverse pour un service backend, tel qu'un serveur exécuté sur localhost sur le port 8080.

Étapes pour configurer le proxy inverse :

1.Activer les modules nécessaires

Tout d'abord, vous devez activer les modules proxy dans Apache :

sudo a2enmod proxy sudo a2enmod proxy_http

Redémarrez Apache pour que les modules prennent effet :

sudo systemctl restart apache2 

2.Configurer un hôte virtuel avec un proxy inverse

Modifiez maintenant le fichier de configuration de votre hôte virtuel que nous avons créé précédemment pour ajouter les directives proxy.

Ouvrez le fichier de configuration :

sudo your_editor /etc/apache2/sites-available/php.conf

ajoutez les lignes de configuration du proxy à l'intérieur du bloc  :


    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    # Reverse Proxy Directives
    ProxyPreserveHost On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    
        AllowOverride All
        Require all granted
    

    # Logs for debugging
    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined

Ces directives effectuent les opérations suivantes :

  • ProxyPreserveHost On : préserve l'en-tête Host d'origine du client lorsqu'Apache envoie la requête au serveur backend.
  • ProxyPass / http://localhost:8080/ : redirige toutes les requêtes entrant dans Apache vers le serveur qui écoute sur le port 8080.
  • ProxyPassReverse / http://localhost:8080/ : mappe la requête vers Apache, ce qui signifie que les réponses du backend sont modifiées pour donner l'impression qu'elles proviennent directement d'Apache.

3.Redémarrez Apache

Après avoir effectué les modifications, redémarrez Apache :

sudo systemctl restart apache2

4.Tester le proxy inverse

Désormais, lorsque vous accédez à http://php.info, Apache transmettra les requêtes au backend qui écoute sur http://localhost:8080.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/xxzeroxx/apache-virtual-host-adding-reverse-proxy-k7?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3