NginX : résoudre "upstream sent too big header while reading response header from upstream" photo

NginX : résoudre “upstream sent too big header while reading response header from upstream”

Nginx: des entêtes trop larges

Lors de la mise en ligne d’un nouveau site, je suis tombé sur une page qui ne fonctionnait pas et donnait une erreur 502 avec ce message dans les logs:

upstream sent too big header while reading response header from upstreamCode language: JavaScript (javascript)

Solution: augmenter la taille des entêtes

Si votre serveur utilise NginX, il suffit d’ajouter ces deux lignes à votre server block pour que tout rentre dans l’ordre:

fastcgi_buffers 16 16k; 
fastcgi_buffer_size 32k;

L’augmentation de la taille des buffers permet d’envoyer toutes les données d’un coup d’un seul, ce qui résout l’erreur.

Il ne reste plus ensuite qu’à relancer le serveur NginX:

service nginx restart

Hop, problème réglé.

MySQL : résoudre le message "Warning: Using a password on the command line interface can be insecure." photo

MySQL : résoudre “Warning: Using a password on the command line interface can be insecure.”

J’ai récemment écrit un petit script bash qui me permet de sauvegarder rapidement toutes les bases de données d’un serveur. Le script est lancé par une tâche cron automatiquement, tous les jours.

Si l’on passe l’utilisateur et le mot de passe SQL dans la requête, avec mysql ou mysqldump, vous obtiendrez très certainement le message d’avertissement suivant:

Warning: Using a password on the command line interface can be insecure.Code language: PHP (php)

Et pour cause : cela veut dire que n’importe qui ayant accès au serveur pourra voir, dans les logs ou avec un simple ps, vos informations de connexion à vos bases de données. Ce n’est pas ce qui se fait de mieux en matière de sécurité !

Une solution est de passer en argument un fichier qui contiendra vos données de connexion à la base de données.

Donc, au lieu d’écrire :

mysqldump -u $USER -p$PASSWORD --databases $db > $BACKUP_PATH/$date-$db.sqlCode language: PHP (php)

Il vaut mieux écrire:

mysqldump --defaults-extra-file=/etc/mysql/mysql-backup-script.cnf --databases $db > $BACKUP_PATH/$date-$db.sqlCode language: PHP (php)

Note: L’argument --defaults-extra-file doit venir en premier, sinon il ne sera pas interprété.

Le fichier /etc/mysql/mysql-backup-script.cnf contient les identifiants de votre utilisateur SQL qui aura les droits sur chacune des bases de données à sauvegarder. Voici à quoi il ressemble:

[client]
user = 'backup'
password = 'GIGANTIC_SECURE_PASSWORD'Code language: JavaScript (javascript)

Par sécurité, on restreint les droits d’accès au fichier pour qu’il ne soit pas lisible par tout le monde:

chmod 400 /etc/mysql/mysql-backup-script.cnf

Il ne vous reste qu’à créer votre cron avec votre nouvelle commande, sans montrer les identifiants SQL en clair.

BRADAFRAMANADAMADA - Légalité photo

BRADAFRAMANADAMADA – Légalité

Vincent Kucholl et Vincent Veillon sont deux humoristes suisses qui oeuvrent dans l’émission 120 minutes, diffusée sur RTS Un (Radio télévision suisse).

En plus de leurs sketchs, ils sont également à l’origine d’un groupe de reggae parodique, BRADAFRAMANADAMADA (“brother from another mother“), que je trouve très drôle.

Voici par exemple la chanson Légalité, qui demande au ministre de la santé suisse de légaliser le cannabis:

La musique est excellente, les paroles toutes autant, avec une bonne dose d’humour. C’est super sympa à écouter et on regrette que ce ne soit pas un “vrai” groupe parce qu’on irait bien le voir en concert !