Nginx derrière un reverse proxy (Varnish, etc.) : voir les vraies IP

0

Posted by florian | Posted in Sysadmin | Posted on 18-06-2012

Mots-clefs :, , ,

Tu aimes la vitesse et fais donc profiter ton Nginx d’un chouette reverse proxy du genre (au hasard) Varnish.
Seulement voilà, tu observes quelques problèmes de sessions au niveau applicatif (PHP ou autre) et puis les logs remontent désespérement toujours la même adresse IP : celle de ton reverse proxy Varnish.

Avec l’été qui tarde à venir, accepte donc ce petit rayon de soleil : tu as juste à ajouter ça dans ta conf’ Nginx, du genre dans un fichier /etc/nginx/conf.d/real_ip.conf tout bien propre :

# Liste des IP de tes reverse proxies, par exemple
set_real_ip_from 192.168.0.0/24;
set_real_ip_from 192.168.0.123;

# Le header HTTP qui contient la vraie IP, généralement "X-Forwarded-For" sur la plupart des confs par défaut des reverse proxies
real_ip_header X-Forwarded-For;

Un petit « service nginx configtest » pour s’assurer que tout baigne, un petit « service nginx reload » et Ô magie du module Real IP de Nginx : ton serveur web voit à présent la vraie IP des clients qui se connectent !

En cas de problème, peu probable puisque la plupart des packages Nginx sous Debian et Ubuntu sont compilés avec le support de Real IP, il faudra songer à recompiler ton Nginx avec le support du module (directive –with-http_realip_module).

Pour aller plus loin :
Wiki de Nginx : module Real IP

Tester l’existence d’un exécutable en Bash

0

Posted by florian | Posted in Sysadmin | Posted on 06-09-2011

Mots-clefs :, , ,

Si tu es l’auteur d’un script Bash magique et que tu veux t’assurer de l’existence de programmes exécutables constituant des pré-requis à sa bonne exécution, alors voilà la bonne façon de le faire :

$ hash foo 2>&- || { echo >&2 "Veuillez installer le programme foo."; exit 1; }

Jusqu’à présent j’utilisais « which » ou d’autres méthodes plus sales moins jolies mais 3 raisons au moins justifient de recourir à hash :

  • which est un programme externe alors que hash est une fonction interne de Bash
  • De nombreux OS fournissent le programme « which » mais celui-ci ne retourne pas de code de sortie, ce qui fait qu’un « if which foo >/dev/null » sera toujours vérifié, même si le programme foo n’existe pas.
  • De nombreux OS font faire diverses à choses à which, comme changer la sortie standard…

Bref, j’ai changé mes habitudes et te conseille de faire de même : à bat which, vive hash !

Source : Stackoverflow

Nginx + PHP-FPM : installer les dernières versions sur Ubuntu

2

Posted by florian | Posted in Geekisme, Logiciels Libres, Sysadmin | Posted on 19-06-2011

Mots-clefs :, , ,

Ami internaute, si ton serveur est sous Ubuntu et que :
- soit on se moque de la version de ton Nginx ou de ton PHP-FPM
- soit tu es complexé par la version vieillissante de ton Nginx
- soit tu es complexé par les cheveux blancs de ton PHP-FPM
- soit un peu tout ça à la fois

Alors tu es au bon endroit : voilà comment tu vas pouvoir garder tes Nginx et PHP-FPM « up-to-date » avec un minimum d’efforts, cela va sans dire…

Voici comment faire, en 3 étapes seulement !
Lire la suite » Nginx + PHP-FPM : installer les dernières versions sur Ubuntu

Android : messages par ordre non-chronologique dans Google Talk

1

Posted by florian | Posted in Geekisme | Posted on 12-01-2011

Mots-clefs :, ,

Google Talk c’est génial, mais sur Android, un bug prégnant nous pourrit l’existence, c’est en tout cas mon cas depuis que je suis passé sur Galaxy S (Android 2.1 comme 2.2 « Froyo ») : les messages de mes correspondants ne sont pas listés par ordre chronologique, comme tout logiciel de messagerie, mais groupés par correspondant !
Si bien qu’à partir de 3 ou 4 lignes de conversation déjà, il faut remonter pour voir la conversation du correspondant…
Lire la suite » Android : messages par ordre non-chronologique dans Google Talk

Installer Drupal 7 en ligne de commande avec Drush

0

Posted by florian | Posted in Drupal | Posted on 20-10-2010

Mots-clefs :, ,

Drush
Dans la vie d’un drupaler, la découverte de Drush s’apparente à la découverte du couteau par un néandertalien : bien des choses deviennent alors plus simples.

Parmi ces choses, on trouve la possibilité d’installer simplement un projet Drupal 7.
Lire la suite » Installer Drupal 7 en ligne de commande avec Drush

Réplication de port sur Cisco 3550

0

Posted by florian | Posted in Geekisme | Posted on 30-06-2010

Mots-clefs :, , , , ,

Certains personnes sont pas très sympas : elles vous embêtent alors même que vous leur fournissez un service gratuit

C’est dans ce contexte que j’ai dû mettre en place une réplication de port ou port mirroring ou encore span port (jargon Cisco) sur un Cisco 3550, afin de visualiser le trafic à destination du serveur « attaqué » sur un autre serveur.

Lire la suite » Réplication de port sur Cisco 3550

Récupérer le nom de la distribution Linux installée

0

Posted by florian | Posted in Geekisme | Posted on 10-06-2010

Mots-clefs :, , ,

Pour toi public cher geek, voici une commande shell fort pratique, en particulier si tu dois réaliser l’inventaire de ton parc de machines et/ou les mettre à jour :

lsb_release -a

Voilà ce que ça donne sur une Ubuntu 10.04 :


LSB Version: core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch
Distributor ID: Ubuntu
Description: Ubuntu 10.04 LTS
Release: 10.04
Codename: lucid

Pour avoir juste le nom de la distrib : lsb_release -i

Pour avoir juste la version de la distrib : lsb_release -r

Downgrader PHP de 5.3.2 à 5.2.10 sur Ubuntu 10.04 « Lucid » LTS

5

Posted by florian | Posted in Logiciels Libres | Posted on 10-06-2010

Mots-clefs :, , , , ,

Alors oui, Ubuntu est récemment sortie dans sa version 10.04 LTS, c’est super, on a tous sautillé de joie.

Problème : quand on est un drupaler de la première heure et qu’on maintient encore des sites sous Drupal 5 (pas toujours possible d’upgrader en 6 stable), on risque de cumuler les infortunes avec la version 5.3 de PHP que cette nouvelle mouture de notre distrib préférée nous apporte.

En pareil cas, la seule solution qui tienne la route est malheureusement de downgrader en version 5.2…

Hep ! Ne pars pas ! Ce n’est pas si compliqué !

Lire la suite » Downgrader PHP de 5.3.2 à 5.2.10 sur Ubuntu 10.04 « Lucid » LTS

Migration de Dotclear 2.1.6 vers WordPress 2.9.2

0

Posted by florian | Posted in Geekisme | Posted on 17-04-2010

Jusqu’à peu, cher lecteur assidu, j’étais satisfait et même fier, oui, fier de faire tourner mon blog sur une base Dotclear, ce moteur de blog « made in France » qui a assuré durant plusieurs années de bons et loyaux services.

Aujourd’hui, la page est tournée, et c’est un peu à contre-coeur que j’ai achevé (ou presque…) la migration vers WordPress.

Je n’ai pas envie d’infliger aux mainteneurs de Dotclear un énième article à charge, alors pour connaître les raisons de ce choix je vous invite à lire cet article, qui en fait un bon inventaire.

A cela j’ajouterai que pour ma part, le déclic s’est produit véritablement hier, après que j’ai upgradé le serveur qui héberge mon blog vers Ubuntu 10.04 (non non elle sort bien dans quelques jours, c’est la beta 2), dont le repository propose la version 5.3 de PHP. Problème : malgré des annonces de l’équipe de Dotclear (il y a longtemps déjà) concernant la mise en comptabilité avec PHP 5.3, ce n’est pas du tout ça

Cher lecteur, c’est donc désormais le flamboyant WordPress qui accueillera mes humeurs. Il faut vivre avec son temps…

Quand GIMP est en avance sur Photoshop

0

Posted by florian | Posted in Logiciels Libres | Posted on 31-03-2010

Mots-clefs :, , , ,

Depuis plusieurs jours déjà, tous les geeks n’ont plus d’yeux que pour la nouvelle fonctionnalité phare de Photoshop CS5 (sortie prévue en avril) : « Content Aware Fill ». Pourtant, GIMP, la fameuse alternative open source à Photoshop, dispose d’un plugin qui permet de faire la même chose, depuis quelques temps déjà : Resynthesizer. La preuve en images…
Lire la suite » Quand GIMP est en avance sur Photoshop