[résolu] 500 Internal Server Error nginx lors du login

[Il semblerait que l’erreur 500 obtenue était due à un mauvais réglage de mon navigateur (j’avais modifié network.http.sendRefererHeader à 0 dans about:config de firefox)]

Bonjour,

Pendant un moment je n’ai pas pu me connecter à mon serveu, puis j’ai pu accéder à la page de login, mais dès que je rentre mes identifiants j’ai “500 Internal Server Error” de nginx.

Avant cela fonctionnait bien, et je n’ai vraiment rien touché depuis un bail… Et j’avoue ne pas comprendre d’où peut venir le problème avec mes maigres connaissances.
Du coup j’ai tout mis à jour, (update upgrade), j’ai relancé le pare-feu (pourquoi pas), j’ai remarqué qu’il était “disabled”, je l’ai “enabled” et “started”. Mais ça ne change rien.

Voici mon diagnostic :
host: Debian 8.0
kernel: 4.9.35-v7+
packages:
yunohost: 2.6.5
yunohost-admin: 2.6.2
moulinette: 2.6.1
ssowat: 2.6.8
system:
disks:
mmcblk0p1: Mounted on /boot, 62.0MiB (41.1MiB free)
root: Mounted on /, 14.5GiB (10.8GiB free)
memory:
ram: 923.4MiB (615.6MiB free)
swap: 100.0MiB (93.2MiB free)
services:
avahi-daemon: running (enabled)
dnsmasq: running (enabled)
dovecot: running (enabled)
fail2ban: running (enabled)
glances: running (enabled)
gogs: running (not-found)
lstu: running (not-found)
metronome: running (enabled)
mysql: running (enabled)
nginx: running (enabled)
nslcd: running (enabled)
nsswitch: inactive (not-found)
php5-fpm: running (enabled)
postfix: running (enabled)
redis-server: running (enabled)
rmilter: running (enabled)
rspamd: running (enabled)
slapd: running (enabled)
ssh: running (enabled)
transmission-daemon: running (enabled)
ynh-kiwiirc: running (enabled)
yunohost-api: running (enabled)
yunohost-firewall: running (enabled)
applications:
agendav: PandaCalendrierClient
baikal: PandaCalendrierServeur
dokuwiki: PandaWiki
gogs: Git
hextris: PandaHextris
jappix: Jappix
jirafeau: PandaShare
kanboard: PandaProjects
keeweb: Keeweb
kiwiirc: KiwiIRC
lstu: Lstu
mytinytodo: ToDo
nextcloud: PandaCloud
opensondage: PandaSondage
phpmyadmin: phpMyAdmin
piwigo: Piwigo
roundcube: PandaMail
sonerezh: Sonerezh
transmission: PandaTorrent
ttrss: PandaFlux
wallabag: PandaReader
wordpress: PandaBlog
youtube-dl-webui: Youtube-dl
zerobin: PandaBin

Il y a plusieurs services “not found”, mais je ne sais même plus trop à quoi ils correspondent, je ne sais pas si c’est normal…

Vous avez une idée pour m’orienter ? :slight_smile:
Bonne journée à vous !

Personne ? :frowning:
Sinon, question subsidiaire, je n’ai pas envie de perdre certaines données dans mon wiki par exemple, où puis-je les trouver dans l’arborescence des fichiers ?

Bonne journée :slight_smile:

Coucou,

Si tu veux tu peux probablement encore faire un backup de cette app … À la main c’est un peu galère car il faut surement exporter les données d’une base de donnée mysql ou autre…

Mais bref, sinon ton probleme se produit seulement après t’être loggé ? Est-ce que tu arrives quand meme à acceder aux applications publiques genre wordpress ? Est-ce que après t’être loggué tu as quand meme accès aux applications privées (i.e. est-ce que c’est juste l’interface utilisateur / le sso qui pose problème ?)

Sinon pour débugger la situation tu peux faire par exemple un truc comme :

tail -n 50 -f /var/log/nginx/ton.domaine.tld*.log

laisser la commande tourner, puis “provoquer” l’erreur 500 depuis ton navigateur et voir si il y a un message d’erreur plus précis dans les logs…

C’est intéressant : seul le login pose problème, wordpress est en effet accessible. Par contre tout ce qui est “privé” je ne peux pas y accéder. La page qui me demande mon login apparait bien, mais ça me mène à cette erreur 500, et surtout ça ne me log pas :stuck_out_tongue:

Pour ce qui est du log de nginx, j’ai des erreurs :

==> /var/log/nginx/nom-domaine.tld-error.log <==
    /usr/share/ssowat/helpers.lua:41: in function 'starts'
    /usr/share/ssowat/access.lua:165: in function </usr/share/ssowat/access.lua:1>, client: 192.168.1.13, server: nom-domaine.tld, request: "POST /yunohost/sso/ HTTP/1.1", host: "nom-domaine.tld"
2017/08/13 09:33:52 [error] 24972#0: *83 lua entry thread aborted: runtime error: /usr/share/ssowat/helpers.lua:41: bad argument #1 to 'sub' (string expected, got nil)
stack traceback:
coroutine 0:
    [C]: in function 'sub'

… Je ne sais pas trop quoi en déduire… :thinking:

EDIT : et merci pour ton aide !

Salut,

est-ce que ton navigateur aurait pas un truc qui désactive le HTTP Referrer ?

J’ai l’extension Smart Referer, mais même désactivée (même avec Firefox démarré sans aucune extension) cela ne fonctionne pas…

Je vais fouiller dans about:config, j’ai peut être modifié quelque chose dans ce genre. Il est vrai qu’un autre bout de log me dit :

192.168.1.13 - - [15/Aug/2017:13:33:39 +0000] “POST /yunohost/sso/?r=aHR0cHM6Ly9wYW5kYS5ub2hvLnN0L3BhbmRhd2lraS8= HTTP/1.1” 500 186 “-” “Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0”

Ce qui est clairement pas du tout mon referer (je suis sous debian avec firefox 52 je crois)

Tu as moyen d’essayer depuis un autre navigateur juste pour voir, sinon ?

Oh ça fonctionne !

Effectivement j’avais modifié quelques jours auparavant network.http.sendRefererHeader à 0 au lieu de 2 de base. J’y retoucherai plus xD

Merci pour ton aide, vraiment !

À ce propos, mon instance YNH est la seule à ne pas pouvoir me connecter quand le referrer est désactivé, ça ne pose problème sur aucun autre site. Perso, je l’ai désactivé pour des questions de vie privée, et il n’y a que pour ma brique que j’ai dû le réactiver, et parfois, j’oublie de le désactiver à nouveau.

Je me demande bien pourquoi.