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

Susan Sarandon
Libérer: 2024-10-09 06:15:02
original
856 Les gens l'ont consulté

Apache Virtual Host: Adding reverse proxy

Qu'est-ce qu'un proxy inverse ?

Un proxy inverse agit comme un intermédiaire qui transmet les requêtes des clients vers 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
Copier après la connexion

Redémarrez Apache pour que les modules prennent effet :

sudo systemctl restart apache2 
Copier après la connexion

2.Configurer l'hôte virtuel avec 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
Copier après la connexion

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

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

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

    <Directory /var/www/html/php/>
        AllowOverride All
        Require all granted
    </Directory>

    # Logs for debugging
    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined
</VirtualHost>
Copier après la connexion

Ces directives font ce qui suit :

  • 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 arrivant dans Apache vers le serveur écoutant 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
Copier après la connexion

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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!