Communiquer avec le serveur depuis un navigateur Web : XHR, SSE et WebSockets

112
18
avr.
2021
Internet

Dans cette dépêche, nous allons faire un tour d’horizon de différentes manières de communiquer avec un serveur depuis une application Web, avec un petit peu d’histoire, avant de rentrer plus profondément dans le fonctionnement des WebSockets, que nous allons démystifier. Nous digresserons ensuite à propos de la gestion (problématique) des requêtes longues et de HTTP 2 avec Apache, et nous discuterons d’une manière de limiter la casse. La dépêche contient quelques morceaux raisonnables mais l’absurdité est latente.

Supposons que nous ayons une application Web qui a besoin de recevoir des évènements du serveur pour voir si quelque chose s’est passé. À tout hasard, un jeu de société en ligne. Ce jeu a besoin d’envoyer les coups des joueurs et joueuses, et de recevoir les coups des autres.

Le serveur ne peut pas contacter le navigateur. Celui-ci est peut-être derrière un pare-feu, et de toute façon il n’y a pas de méthode pour cela. Le modèle du web, c’est une requête HTTP de la part du navigateur, et le serveur sert cette requête. Et puis, à la base, une requête = un chargement de page.

Mais des techniques sont apparues pour abuser de ce modèle, puis les standards se sont mis à intégrer des méthodes pour mener ces abus en toute sérénité.

Architecture logicielle de la nouvelle version de LinuxFr.org

Posté par  (site web personnel) . Édité par Benoît Sibaud. Modéré par tuiu pol.
90
23
fév.
2011
LinuxFr.org

La nouvelle version de LinuxFr.org est en ligne depuis quelques jours. Vous nous remontez régulièrement des bugs et des propositions d'améliorations dans le suivi. Je vous encourage à continuer et à commenter / voter sur les entrées qui vous intéressent.

Voici quelques entrées sur lesquelles j'aimerais particulièrement avoir vos retours :

Je pense que vous êtes également intéressés par l'architecture logicielle de cette nouvelle version. Vous pourrez donc trouver quelques explications à son sujet en seconde partie et n'hésitez pas à poser des questions dans les commentaires.

L’auteur de Nginx enfourche le proprio

Posté par  . Édité par Ysabeau 🧶 🧦. Modéré par ted. Licence CC By‑SA.
Étiquettes :
69
16
fév.
2024
Internet

Maxim Dounin, l'un des principaux développeurs de NGINX (il est Nginx disent même certains) se barre et crée un fork.

Nginx est l'un des principaux serveurs web, voire le plus utilisé mais ça dépend des statistiques. Il est réputé pour sa vitesse, sa légèreté et sa solidité. La version libre est au coeur d'Nginx, aussi costaud, rapide et sécurisée que la version avec quelques extensions propriétaire. Malheureusement, ça pourrait ne plus être le cas :

En 2019, F5 Networks a racheté la société derrière Nginx. En 2022, F5 a fermé les bureaux de Moscou, signant un accord avec Maxim Dounin qui continuait bénévolement à travailler sur Nginx. Ayant quitté la société, il veillait sur cette pièce essentielle du web et du libre. Or en 2024, la nouvelle direction d'F5 n'entend que pouic à la technique et se focalise sur le marché. Elle s'est mêlée des questions de sécurité, préférant une version libre moins robuste afin de vendre plus de prestations — d'après Maxim Dounin.

Le 14 février, il en a eu marre et a lancé le projet Freenginx pour garantir un développement sans interférences marketing.

Journal Durcir nginx et PHP avec systemd

Posté par  (site web personnel) . Licence CC By‑SA.
55
3
fév.
2022

Dans une installation Linux-nginx-PHP classique, on a:

  • systemd qui doit orchestrer les services et s'exécute en root (inévitable)
  • nginx qui reçoit les les requêtes web et les répartit, notamment vers php-fpm. Il fonctionne avec un processus maître qui fonctionne en root pour se mettre en écoute sur le port 443 et des workers, non privilégiés, qui traitent les requêtes
  • php-fpm qui tourne sous root, reçoit les requêtes vers des scripts PHP de la part de nginx et les répartit vers (…)

Nginx 1.2, des progrès sur le code et les parts de marché

Posté par  (site web personnel) . Édité par Bruno Michel, claudex et Christophe Turbout. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
52
30
avr.
2012
Internet

Prononcé « engine x » en anglais, Nginx, le petit serveur web libre qui monte, qui monte, est disponible en version 1.2. Il monte, en effet, et il est d'ailleurs en passe de devenir le numéro 2 du web public, derrière le vénérable Apache HTTPD, mais surtout devant le IIS (Internet Information Server) de Microsoft.

Rappelons que Nginx est publié sous licence BSD, développé en C et souffle sa dixième bougie cette année en 2012. Il offre outre ses capacités de serveur web, des fonctionnalités de reverse proxy et proxy POP/IMAP. Nginx est réputé pour sa haute performance, sa stabilité, ses fonctionnalités, la simplicité de sa configuration et sa consommation faible en ressources. Nginx fait tourner entre autre WordPress, Github, Ohloh, SourceForge et LinuxFr.org.

NdA : merci à Christophe Turbout, Xavier Claude et surtout Bruno Michel pour leurs contributions sur cet article.

On est parti ! nginx 1.0.0 est sorti

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
44
13
avr.
2011
Internet

Nginx est à la fois un serveur HTTP et un proxy inverse pour HTTP et IMAP / POP3.
Поехали, la version 1.0.0 est sortie hier.

Développé sous licence BSD, Nginx sert fidèlement de nombreux sites Web, dont LinuxFr.org, et leur apporte performances, fiabilité et configurabilité. Des études indiquent qu’il servirait entre 6,5 % et 7 % du Web mondial (derrière Apache et IIS, mais devant Google, Lighttpd et Cherokee).

Cette version 1.0.0 arrive après 9 ans de développements soutenus et montre, s’il en est besoin, la stabilité du projet. Je vous encourage à l’essayer.

bunkerized-nginx - Sécurisez facilement et sans tracas vos services web

Posté par Florian Pitance . Édité par Julien Jorge, Ysabeau 🧶 🧦, palm123 et devnewton 🍺. Modéré par claudex. Licence CC By‑SA.
41
29
avr.
2021
Sécurité

C’est quoi bunkerized-nginx ?

C’est un outil qui va vous éviter de devoir suivre les bonnes pratiques de sécurité à chaque fois que vous avez besoin d’un serveur web ou d’un reverse proxy en frontal de vos services web. Bunkerized-nginx se présente sous la forme d’une image Docker et va s’occuper des paramètres et configurations pour vous. Le but final est d’atteindre une sécurité « par défaut » sans (trop) d’action de votre part.

bunkerized-nginx

Journal Écrire un livre à deux : Haute Disponibilité sous Linux, des prémices à la sortie

34
6
sept.
2021

En juillet 2020, LinuxFR m’avait fait un grand honneur en m’interviewant dans le contexte de la sortie de la sixième édition de mon livre sur l’administration Linux. Une question concernait la coécriture, (l’écriture à plusieurs auteurs) et j’avais indiqué que j’avais proposé ce projet à un ami, sur une sujet devenu compliqué. Un an après, le résultat de cette collaboration a été publié !
L'interview initial
Charles Sabourdin et moi avons donc la joie de vous annoncer le résultat de (…)

NAXSI, un module de filtrage HTTP pour nginx

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
34
14
nov.
2011
Sécurité

Ma société travaille depuis plusieurs mois sur un projet de WAF, ou pare‐feu applicatif, articulé autour du serveur HTTP et proxy inverse nginx. Après une foule de tests et une épreuve du feu pour le moins tendue, la première version stable de NAXSI, c’est son nom, est disponible au téléchargement en code source et en paquet Debian.

NAXSI est sous licence GPL v2 et s’utilise conjointement avec nginx. Son principal but est de bloquer de manière efficace les attaques classiques de type injection SQL, Cross‐Site Scripting, Cross‐Site Request Forgery, ou encore inclusion de sources tierces locales ou distantes.

Au contraire des WAF déjà connus, NAXSI ne se base pas sur des signatures, mais plutôt sur la détection d’attaques connues en interceptant des caractères et autres chaînes suspectes dans les requêtes HTTP. Tel un système anti‐pourriel, NAXSI affecte un score à la requête et, lorsque ce dernier est trop élevé, le client est redirigé sur une page de type 503.

Malgré ses récents faits d’armes, NAXSI reste un projet jeune, et en tant que tel, nécessite plus de tests. Aussi, n’hésitez pas à lui donner sa chance, vos retours seront grandement appréciés !

Sortie de LemonLDAP::NG 1.9

Posté par  (site web personnel, Mastodon) . Édité par ZeroHeure et Nÿco. Modéré par Nÿco. Licence CC By‑SA.
26
4
mar.
2016
Sécurité

LemonLDAP::NG est un logiciel libre d'authentification unique (SSO), contrôle d'accès et fédération d'identités. La version 1.9.0 a été publiée le 2 mars 2016.

Logo LemonLDAP::NG

LemonLDAP::NG est écrit en Perl et publié sous licence GPL. Cette nouvelle version majeure apporte de grands changements au logiciel comme le support OpenID Connect, une nouvelle interface d'administration et la compatibilité Nginx.

Journal F5 achète NGINX

Posté par  . Licence CC By‑SA.
Étiquettes :
26
12
mar.
2019

la société F5 (leader sur le marché des ADC) rachete NGINX pour 670 millions

https://techcrunch.com/2019/03/11/f5-acquires-nginx-for-670m-to-move-into-open-source-multi-cloud-services

l'annonce coté F5
https://www.f5.com/company/news/press-releases/f5-acquires-nginx-to-bridge-netops-devops

l'annonce coté NGINX
https://www.nginx.com/blog/nginx-joins-f5/

F5 n'est pas du tout open source, on va voir ce que va devenir NGINX

Le sondage Netcraft des serveurs web de juillet 2012

Posté par  (site web personnel, Mastodon) . Édité par Nils Ratusznik, Nÿco et baud123. Modéré par Xavier Teyssier. Licence CC By‑SA.
25
6
juil.
2012
Internet

Netcraft est un site internet connu pour sa réalisation de sondages sur le logiciel utilisé par les serveurs web sur Internet, ainsi que pour la détection (et l'historique) de ces mêmes logiciels sur requête de ses visiteurs.

Chaque mois, Netcraft publie le résultat de son sondage. Le sondage du mois de juillet est donc disponible depuis peu, et la deuxième partie de dépêche vous propose un commentaire de ce sondage.

Nginx, Joomla et Psi

Posté par  . Édité par Nÿco, Davy Defaud, Benoît Sibaud, baud123, claudex, Maxime, Mouns et Joris Dedieu. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
25
6
oct.
2012
Communauté

Petites brèves d’automne…

Nginx et l’OCSP

La dernière version de Nginx est sortie, avec la gestion de l’Online Certificate Status Protocol (OCSP) stapling. Avec Apache 2.4.x, ça fait donc 2 serveurs Web, représentant environ 70 % du parc déployé, qui prennent en charge cette fonctionnalité.

GlobalSign, Comodo, et DigiCert ont financé ces évolutions, je ne sais pas précisément à quelle hauteur.

Joomla 3.0

Joomla, le célèbre système de gestion de contenu Web (CMS — Content Management System), a été publié en version 3.0, avec au menu un « responsive design » (conception, aussi bien pour le bureau que le mobile et les tablettes) pour les interfaces visiteur et administrateur. La procédure d’installation est également réduite à trois étapes.

Psi 0.15

Psi (la lettre grecque Ψ, pas « psy » ni « P.S.I. »), le célèbre client XMPP/Jabber est sorti en version 0.15. Il n’y avait pas eu de nouvelles versions depuis 3 ans, mais pendant ce temps‐là, le projet Psi+ est resté actif. Certains membres importants de Psi+ se sont vu accorder les droits d’accès au dépôt de Psi, et les fonctionnalités jugées stables de Psi+ ont été intégrées à Psi (détails ici).

Au menu :

  • fusion de nombreux changements avec Psi+ ;
  • nouveau navigateur d’historique ;
  • nouvelle fenêtre de contacts plus rapide ;
  • serveur mandataire TURN pour les appels voix ;
  • stockage des données aux endroits standards de la plate‐forme ;
  • plus aucune dépendance à la bibliothèque Qt3Support ;
  • les domaines se terminant en .local fonctionnent toujours, que ce soit via DNS ou mDNS ;
  • Windows 64 bits et Mac 64 bits sont pris en charge, Mac PPC obsolète;
  • sonde du port Legacy SSL retirée ;
  • d’autres petites fonctionnalités et corrections de bogues variées.

Présentation de nginx

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
21
17
juin
2010
Internet
Nginx est un reverse proxy et serveur web, ainsi qu'un proxy mail (IMAP et POP3), sous licence BSD. Igor Sysoev a commencé à le développer en 2002 pour un site russe à fort trafic, et depuis la popularité de nginx n'a cessé de croître. Selon netcraft, 6,5% des sites web dans le monde seraient servis par nginx.

Nginx est réputé pour ses performances et sa faible consommation mémoire. Cela vient de son architecture : au lieu de dédier un processus ou un thread pour traiter chaque requête, il utilise un modèle événementiel. Cela lui permet notamment de tenir un grand nombre de connexions simultanées sans voir sa consommation mémoire s'envoler. Des sites connus comme Wordpress, github et SourceForge l'ont choisi pour cette raison.

Nginx est également développé selon une approche modulaire : il est composé d'un cœur réduit et d'un grand nombre de modules que l'on peut choisir d'inclure à la compilation. Comme il est facile de développer un module, il en existe de nombreux et qui couvrent une large palette de fonctionnalités, des plus essentielles (SSL, fastcgi, gzip, rewrite, log) aux plus exotiques (servir des fichiers GIF vides, afficher des pages d'index aléatoires).

Si vous souhaitez télécharger nginx, 3 versions vous seront proposées : la branche 0.8 offre les dernières avancées, la branche 0.7 est la branche stable, et la branche 0.6 (legacy) est encore maintenue. La dernière version, sortie le 15 juin, est la 0.8.41. Vous pourrez l'installer sur Linux, BSD, Solaris, OSX ou encore Windows.