Bastien Louche

Systèmes – Réseaux – Sécurité – Web | Tutoriels | CV
  • Accueil
  • CV
  • Contactez-moi

[Tutoriels] Configuration de Nginx en reverse proxy

Bastien Louche | 31/03/2010 | 17:31 |

Cet article a été publié il y a plus de 6 mois. Les informations qu'il contient ne sont peut-être plus à jour.

Dans le but d’optimiser un serveur web qui tourne sous Apache, on va configurer Nginx en reverse proxy, c’est d’ailleurs la configuration mise en place sur le serveur de www.bastien-louche.fr qui fonctionne très bien depuis début Janvier. Je vous passe les détails sur la définition d’un reverse proxy ou sur Nginx, Wikipédia fait cela beaucoup mieux que moi !

Dans notre cas vous possédez déjà Apache, PHP, MySQL sur votre serveur et vous souhaitez seulement ajouter Nginx en guise de reverse proxy.

On installe Nginx via une simple commande usuelle :

apt-get install nginx

On ajoute le paquet suivant pour permettre à Apache de bien loguer les IP des connexions :

apt-get install libapache2-mod-rpaf

On va ensuite pouvoir créer le fichier de configuration de Nginx pour l’utiliser en mode reverse proxy :

nano /etc/nginx/conf.d/proxy.conf

On y écris les lignes suivantes :

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

On peut alors configurer le fichier /etc/nginx/sites-available/default pour activer le mode reverse proxy, dans notre configuration Nginx écoutera sur le port 80 et Apache sur le port 8080 (Les lignes à ajouter sont en gras) :

server {
listen   80;
server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;

location / {
proxy_pass
http://127.0.0.1:8080/;
}

}

On modifie ensuite le fichier de configuration du port d’écoute de Apache :

nano /etc/apache2/ports.conf

NameVirtualHost *
Listen 127.0.0.1:8080

On peut maintenant redémarrer les services :

/etc/init.d/apache2 start
/etc/init.d/nginx start

L’installation est terminée et opérationnelle comme on peut le constater grâce au module Domain Details pour Firefox :

Pour rendre votre Nginx moins verbeux vous pouvez ajouter une ligne dans le fichier /etc/nginx/nginx.conf :

http {
[…]
server_tokens off;
}

Sources et Informations supplémentaires : [1] [2]

Catégories
Tutoriels
Tags
Apache, Debian, Nginx, Systèmes, Web
Flux rss des commentaires
Flux rss des commentaires
Trackback
Trackback

« [Tutoriels] Comment avoir une Debian stable à jour ? [Tutoriels] Installation de Cherokee Web Server avec PHP 5 »

Poster un commentaire

Cliquez ici pour annuler la réponse.

Recherche

Réseaux sociaux

CV Bastien Louche

Pages

  • CV
  • Contactez-moi

Catégories

  • Tutoriels (8)

Commentaires récents

  • cheikh dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • Bastien Louche dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • imen dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • Simo, dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • Pit dans [Tutoriels] Configuration d’un cluster Apache 2 avec HAProxy

Mots-clefs

Apache Apachebench Blog Cherokee Debian DNS DNSSEC HAProxy IDS IP Linux Logiciels Libres Nginx Réseaux Serveur Snort Systèmes Sécurité Web Windows YOURLS