Sortie de nginx 1.18.0

Après un an de développement introduit nouvelle branche stable d'un serveur HTTP haute performance et proxy multi-protocoles nginx 1.18.0, qui a intégré les changements accumulés dans la branche principale 1.17.x. À l'avenir, toutes les modifications dans la branche stable 1.18 seront liées à la correction de bogues critiques et de vulnérabilités. Une nouvelle branche principale nginx 1.19 sera bientôt formée, dans laquelle le développement de nouvelles fonctionnalités se poursuivra. Pour les utilisateurs ordinaires qui n'ont pas besoin d'assurer la compatibilité avec des modules tiers, il est recommandé d'utiliser la branche principale, sur la base de laquelle des versions du produit commercial Nginx Plus sont publiées tous les trois mois.

Conformément au rapport d'avril de la société Netcraft, nginx est utilisé sur 19,56 % de tous les sites actifs (contre 20,73 % l'année dernière, 21,02 % deux ans auparavant), ce qui correspond à la deuxième place en popularité dans cette catégorie (la part d'Apache est de 27,64 %, Google — 10,03 %, Microsoft IIS — 4,77 %). Ainsi, en considérant l'ensemble des sites, nginx conserve sa position de leader avec 36,91 % du marché (contre 27,52 % l'année dernière), tandis que la part d'Apache est de 24,73 %, Microsoft IIS — 12,85 %, Google — 3,42 %.

Parmi le million de sites les plus visités au monde, la part de nginx est de 25,54 % (contre 26,22 % l'année dernière, 23,76 % deux ans auparavant). Actuellement, environ 459 millions de sites sont gérés par nginx (contre 397 millions l'année dernière). Selon les données W3Techs, nginx est utilisé sur 31,9 % des sites du million les plus visités, en avril dernier ce chiffre était de 41,8 %, il y a deux ans — 38 % (la baisse s'explique par la comptabilisation distincte des serveurs HTTP de Cloudflare). La part d'Apache a diminué en un an, passant de 43,6 % à 38,9 %, tandis que celle de Microsoft IIS est passée de 8,6 % à 8,3 %. En Russie, nginx on utilise est présent sur 78,9 % des sites les plus visités (contre 81 % l'année dernière).

Les améliorations les plus notables ajoutées lors de la formation de la branche principale 1.17.x :

  • Directive ajoutée limit_req_dry_run, qui active le mode d'essai, dans lequel aucune restriction n'est appliquée sur l'intensité du traitement des requêtes (sans limite de taux), mais le nombre de requêtes dépassant les limites est comptabilisé en mémoire partagée ;
  • Directive ajoutée limit_conn_dry_run, qui met le module ngx_http_limit_conn_module en mode d'essai, dans lequel le nombre de connexions n'est pas limité, mais est comptabilisé ;
  • Directive ajoutée «auth_delay«, permettant d'ajouter un délai pour les requêtes non autorisées avec le code de réponse 401 afin de réduire l'intensité des tentatives de mot de passe et de protéger contre les attaques, manipulant la mesure du temps d'exécution des opérations (attaque par chronométrage) lors de l'accès à des systèmes, dont l'accès est limité par mot de passe, résultat de la sous-requête ou JWT (JSON Web Token);
  • Ajout du support des variables dans les directives «limit_rate» et «limit_rate_after», ainsi que dans les directives «proxy_upload_rate» et «proxy_download_rate» du module de streaming;
  • Dans la directive grpc_pass ajout du support de l'utilisation de variables dans le paramètre définissant l'adresse. Si l'adresse est indiquée sous forme de nom de domaine, le nom est recherché parmi les groupes de serveurs décrits, et, s'il n'est pas trouvé, il est déterminé à l'aide du résolveur;
  • Ajout de nouvelles variables $proxy_protocol_server_addr et $proxy_protocol_server_port, qui contiennent l'adresse et le port du serveur, obtenus à partir de l'en-tête du protocole PROXY;
  • Dans le module ngx_stream_limit_conn_module ajout de la variable $limit_conn_status, qui stocke le résultat de la limitation du nombre de connexions : PASSED, REJECTED ou REJECTED_DRY_RUN;
  • Dans le module ngx_http_limit_req_module ajout de la variable $limit_req_status, qui stocke le résultat de la limitation du taux d'arrivée des requêtes : PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN ou REJECTED_DRY_RUN;
  • Par défaut, le module est assemblé ngx_http_postpone_filter_module;
  • Ajout du support de la commutation des blocs nommés «location» par la méthode $r->internal_redirect(), fournie par l'interpréteur Perl intégré. Cette méthode implique désormais le traitement des URI contenant des caractères échappés;
  • Lors de l'utilisation dans le bloc de configuration «upstream» de la directive «hash» pour organiser l'équilibrage de charge avec liaison du client au serveur, en cas de valeur clé vide, le mode d'équilibrage uniforme (round-robin) est désormais activé;
  • Ajout du support de l'appel ioctl(FIONREAD), s'il est disponible, afin d'éviter la lecture à partir d'une connexion rapide pendant une longue période.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster