Nginx qui bourre la RAM (et le Swap) quand je me connecte

Bonjour à tous,
un message rapide après avoir récupéré mon raspberry, qui était injoignable depuis quelques jours… mais bien actif.
Il semble que Nginx, pour une raison qui m’échappe, se mette brutalement à remplir la RAM (et beaucoup) à tel point que mes 3Go de swap sont eux aussi remplis en quelques dizaines de secondes. Comme une grosse fuite mémoire.
Et ça ne se produit qu’en me connectant depuis mon téléphone (enfin en essayant du coup).
Si je le fais depuis mon PC, même en le faisant passer pour un mobile, pas de problème.

Seul remède, couper le service, très vite. Sinon la machine n’est plus joignable (timemout en permanence) sans reboot.

Je n’arrive pas à comprendre ce qui se passe, même en regardant les logs (je ne sais peut-être pas quoi chercher).
Vous avez une idée de ce qu’il me faudrait regarder pour diagnostiquer tout ça ?

Merci :slight_smile:

Tu as peux être une application sur ton mobile tel que owncloud nextcloud cardav etc… Qui tente de se connecter à répétition sur ton serveur mais sans succès

Non, tout désactivé de ce côté là. Mais dès le premier essai, le phénomène se présente, systématiquement.
Par contre, ça le fait depuis très peu de temps, et j’ai justement dû revenir à la version de Nginx des dépôts classiques, alors quelle venait des backports. Apparemment c’est synchronisé. Est-ce que c’est lié, je ne sais pas, mais ça ne me surprendrait pas.

Ben de ce que jai compris sur pc pas de problème des qu’il y a un accès avec téléphone sa merde ?

Exact. Et c’est pas un problème de traitement différencié, si je simule mon mobile depuis mon PC ça marche sans problème.
Pas encore testé avec un autre téléphone pour le moment, je tenterai bientôt.

Ci tu n’as pas de problème avec un autre téléphone cela veux clairement dire que cela vient de ton propre mobile et que donc quelque chose tente désespérément de ce connecter a ton serveur et qu’il n’y arrive pas et donc floud ton serveur.
Essaye de fournir une parti du log de nginx dans la période ou tu as tenté de te connecter avec ton téléphone.

Je rencontre un problème similaire ces derniers temps.
Ma Brique devient injoignable après aucune action particulière. Pas moyen de ssh.
Du coup, j’ignore d’où provient ce problème.
Je suis obligé de la redémarrer.

Tu veux dire que tu te connectes où avec ton mobile ? le mail, XMPP, l’interface admin, user ?

Pour voir si je rencontre le même problème avec nginx.

J’ai testé avec un autre téléphone (pareil: soit par l’interface web soit par la synchronisation de l’agenda), et ça foire également dès la première tentative de connexion.
Ça vient donc pas de là.

@Moul: et si tu est connecté en ssh, que tu monitore ce qu’il se passe niveau cpu/ram/swap, et que tu coupe nginx de suite ?
Dans mon cas, c’est du 80% CPU brutalement, et la ram qui passe de 250Mo à 850Mo à peu près.
J’ai juste le temps de couper avant que les 3Go de swap soient pleins.
Auquel cas je récupère la machine.
Sinon, elle est indisponible, et ça passe pas même après 24h.

Est-ce possible d’avoir ton log nginx histoire de voir ce qui merde.

Merci

Je ne rencontre pas le même problème.

@Moul ce serait plus intéressant que tu ouvre ton propre message avec le détail de ton problème.

Le access.log et le error.log ?

Je l’ai pas sous la main donc je l’ai pas laissé aller très loin, j’ai coupé nginx dès que le problème à commencé (mais comme il est déjà sur le swap, ça prends un moment).
Le error.log est vide, et dans le access.log du domaine y’a que ça:

“GET /rss/i/ HTTP/1.1” 302 213 “-” “Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0”
“GET /favicon.ico HTTP/1.1” 302 154 “-” “Mozilla/5.0 (Mobile; rv:46.0) Gecko/46.0 Firefox/46.0”

(j’ai essayé une connexion à FreshRSS, d’où l’adresse).

Tu as que ces deux lignes dans ton fichier ? C’est pas possible lol ça montre aucune tentative ou d’erreur qui ferait planté le serveur.
Regarde dans le /var/log si il n’y a pas un log nginx (je suis pas à la maison donc je ne peux pas voir. Ou dans l’administration de yunohost dans la section service

Y’en a d’autres avant bien sûr, mais rien à voir, c’est pas la même heure/le même user agent.
Ce sont les seules qui concernent cette tentative.
Je lis les logs de /var/log/mondomain.tld.error.log et /var/log/mondomain.tld.access.log.
Je peux pas aller “au bout” du test faute de l’avoir sous la main maintenant pour le redémarrer, donc dès qu’il monte en charge (c-à-d… de suite) je fais un service nginx stop.
Peut-être que ça joue sur les logs ?

Ben je viens à penser que le problème vient peux être d’un autre service qui impact nginx. Car la ya rien de méchant et deux ligne et la ram + swap qui ce remplissent d’information c’est que ça vient forcément d’ailleurs.
Mais la je pense qu’on atteint les limites de mes compétences.

Est ce que tu as qu’un seul domaine où plusieurs autre domaine ? Est ce que le problème ce produit uniquement avec ce domaine où avec tout les domaines ?

Testé avec 3 domaines, toujours le même problème. Côté Nginx la configuration est la même pour chaque.

Je me demande si ce n’est pas un bug de ma version / un problème avec le retour-arrière depuis une version supérieure.

Tu es sur un raspberry par hasard ?
La je pense qu’il y a un problème effectivement avec ton installation. Backup ce que tu as besoin et refais l’installation

Oui, un raspberry pi 3.

Puisque c’est Nginx qui foire, n’y aurait-il pas moyen de le réinstaller, quitte à faire sauter toute la configuration pour voir, avant d’en arriver là ?
(ça va me prendre perpette de tout restaurer :sweat_smile:)

Et question, est ce que tu aurais installé raspbian puis yunohost ou directement l’image fournit par l’équipe ?

Et pour reset la conf
yunohost nginx regen-conf

Pas sur de la commande