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

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]

Commentaires
Pas de Commentaires »
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 ?

Bastien Louche | 05/03/2010 | 10:41

Lors de l’écriture de cet article la version stable de Debian était Debian Lenny.

Notre installation de Debian Lenny est terminée, et nous voulons maintenant pouvoir installer nos paquets préférés, pour notre exemple nous choisirons apache2 php5 et mysql-server. Mais nous constatons très vite que les versions de ces derniers, disponibles sur les dépôts officiels de Debian Lenny, sont assez obsolètes.

Nous allons donc mettre en place une solution, nous permettant tout en restant sur notre Debian Lenny de bénéficier des dernières versions de nos paquets préférés.

 

Nous pouvons pour ça utiliser d’autres dépôts plus ou moins officiels :

– Debian Backports : Les paquets sont plus récents et adaptés à la version stable de Debian.

– Debian Volatile : Les paquets qui changent très souvent de version sont disponibles (Par exemple le paquet clamav).

– Debian Testing : Les paquets sont disponibles à leurs dernières versions.

 

Nous modifions le contenu du fichier /etc/apt/sources.list pour y ajouter les nouvelles sources :

# Debian Lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

# Debian Lenny Security
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

# Debian Lenny — Backports
deb http://www.backports.org/debian lenny-backports main contrib non-free

# Debian Lenny — Volatile
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

# Debian Testing
deb http://ftp.fr.debian.org/debian/ testing main contrib non-free


Ensuite nous créons le fichier /etc/apt/preferences pour y entrer nos préférences de choix parmis les sources :

 
Package: *
Pin: release o=Backports.org archive,a=lenny-backports
Pin-Priority: 995

Package: *
Pin: release o=volatile.debian.org,a=stable
Pin-Priority: 800

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 800

Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 700

 

Nous pouvons maintenant passer à l’installation de nos paquets préférés (L’exemple concerne mysql-server mais les commandes sont les mêmes pour apache2, php5 et tout les autres paquets) :

debian:~# aptitude update

 

Nous utilisons la commande apt-cache policy pour voir les versions proposées sur les différents dépôts (Par exemple pour mysql-server, nous constatons de grandes différences entre les versions disponibles) :

debian:~# apt-cache policy mysql-server
mysql-server:
Installé : (aucun)
Candidat : 5.1.43-1~bpo50+1
Table de version :
5.1.43-1~bpo50+1 0
995
http://www.backports.org lenny-backports/main Packages
5.1.41-3 0
700
http://ftp.fr.debian.org testing/main Packages
5.0.51a-24+lenny3 0
800
http://security.debian.org lenny/updates/main Packages
5.0.51a-24+lenny2+spu1 0
800
http://ftp.fr.debian.org lenny/main Packages

 

 Nous choisissons d’installer la version disponible sur le dépôt Backports pour le paquet mysql-server :

debian:~# apt-get install mysql-server -t lenny-backports

 

/!\ Attention aux dépendances si vous utilisez des paquets en provenance du dépôt Testing.

 

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

Commentaires
Pas de Commentaires »
Catégories
Tutoriels
Tags
Debian, Linux, Logiciels Libres, Systèmes
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

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