Tâche #21441
Scénario #21165: Traitement express MEN (37-39)
EAD3 : ne pas afficher les erreurs de perte de connexion temporaires
Révisions associées
Correction de la perte récurrente de connexion websocket
ref #21441
Ajout d'un délai ('debounce') sur l'affichage de la popup de déconnexion websocket
ref #21441
Prévention du déclenchement de l'évènement de connexion sur des délais de déco courts
ref #21441
Historique
#1 Mis à jour par William Petit il y a plus de 6 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par William Petit il y a plus de 6 ans
- Assigné à mis à William Petit
#3 Mis à jour par William Petit il y a plus de 6 ans
Les erreurs récurrentes de perte de connexion était due au comportement par défaut de Nginx (les connexions RP sans données qui transitent sont coupées au bout de 60s). Ce comportement n'est pas compatible avec les connexions de type Websocket où la connexion peut rester inactive pendant un certain temps.
Paquet avec les modifications:
root@eolebase:~# apt policy eole-ead3 eole-ead3: Installé : 2.6.2-5 Candidat : 2.6.2-5 Table de version : *** 2.6.2-5 500 500 http://test-eole.ac-dijon.fr/eole eole-2.6-unstable/main amd64 Packages 100 /var/lib/dpkg/status
#4 Mis à jour par William Petit il y a plus de 6 ans
- Restant à faire (heures) changé de 2.0 à 0.25
#5 Mis à jour par William Petit il y a plus de 6 ans
- % réalisé changé de 0 à 100
#6 Mis à jour par William Petit il y a plus de 6 ans
- Statut changé de En cours à Résolu
#7 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans
- Restant à faire (heures) changé de 0.25 à 0.0
#8 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans
Le paquet est le bon
root@scribe:~# apt policy eole-ead3 eole-ead3: Installé : 2.6.2-5 Candidat : 2.6.2-5 Table de version : *** 2.6.2-5 500 500 http://test-eole.ac-dijon.fr/eole eole-2.6-unstable/main amd64 Packages 100 /var/lib/dpkg/status root@scribe:~#
La modification est présente :
root@scribe:~# locate ead3.nginx.conf /usr/share/eole/creole/distrib/ead3.nginx.conf root@scribe:~#
vim +22 /usr/share/eole/creole/distrib/ead3.nginx.conf
proxy_read_timeout 1d;
gen_config en mode expert && activation de l'EAD3 && activation de l'EAD3
navigation sur l'EAD3 : https://scribe.ac-test.fr/ead
#9 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans
- Statut changé de Résolu à En cours
- Restant à faire (heures) changé de 0.0 à 1.0
Désolé /o\
Le message apparaît dès l'arrivée dans l'EAD puis après quelques actions.
Si je suis inactif dans l'interface le message arrive passé une minute.
#10 Mis à jour par William Petit il y a plus de 6 ans
- Statut changé de En cours à Résolu
#11 Mis à jour par William Petit il y a plus de 6 ans
- Restant à faire (heures) changé de 1.0 à 0.25
#12 Mis à jour par William Petit il y a plus de 6 ans
Les popups liés à la connexion/déconnexion websocket ne devraient plus s'afficher lors des pertes "courtes" de lien.
Version du paquet:
root@eolebase:~# apt policy ewt-portal ewt-portal: Installé : 2.6.2-13 Candidat : 2.6.2-13 Table de version : *** 2.6.2-13 500 500 http://test-eole.ac-dijon.fr/eole eole-2.6-unstable/main amd64 Packages 100 /var/lib/dpkg/status
Pour tester, le plus simple est de faire un
systemctl restart nginx
Celui ci ne devrait pas déclencher l'affichage des popups.
Par contre, un
systemctl stop nginx
devrait déclencher l'affichage de la popup de déconnexion au bout ~5s (le temps peut varier à cause du mécanisme de "backoff" implémenté, voir https://en.wikipedia.org/wiki/Exponential_backoff)
Un
systemctl start nginx
devrait enfin afficher la popup de connexion (de la même manière, le mécanisme de backoff peut faire varier grandement le temps d'apparition de celle ci).
#13 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans
- Statut changé de Résolu à En cours
J'ai le message dès la connexion
Les popups apparaissent toujours
Après avoir coupé nginx je n'ai plus accès à l'EAD
#14 Mis à jour par Gérald Schwartzmann il y a plus de 6 ans
Ça marche toujours pas avec Firefox.
La différence vient du fait que mes tests sont fait sur Scribe ^^
#15 Mis à jour par William Petit il y a plus de 6 ans
Le problème provient du triple niveau de proxy qui apparaît dans une configuration type etb1:
navigateur -> amon [nginx] -> scribe [apache2] -> scribe [nginx] -> salt-api
Les trois serveurs RP doivent être configurés pour correctement transférer les requêtes Websockets, sans quoi le lien ne se fera pas.
Les modifications sont trop impactantes pour être seulement gérées dans cette demande.
#16 Mis à jour par William Petit il y a plus de 6 ans
La proposition de scénario #21493 a été créé afin de corriger ce problème.
#17 Mis à jour par William Petit il y a plus de 6 ans
- Statut changé de En cours à Ne sera pas résolu
#18 Mis à jour par William Petit il y a plus de 6 ans
- Restant à faire (heures) changé de 0.25 à 0.0
#19 Mis à jour par William Petit il y a plus de 6 ans
- Statut changé de Ne sera pas résolu à Reporté