Sortie de nginx 1.16.0

Après un an de développement introduit nouvelle branche stable d'un serveur HTTP haute performance et proxy multi-protocoles nginx 1.16.0, qui intègre les modifications accumulées dans la branche principale 1.15.x. À l'avenir, toutes les modifications de la branche stable 1.16 seront liées à la correction de bogues graves et de vulnérabilités. Une nouvelle branche principale nginx 1.17 sera bientôt formée, dans le cadre de 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.

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

  • Ajout de la possibilité d'utiliser des variables dans les directives 'ssl_certificate' et 'ssl_certificate_key', ce qui permet de charger dynamiquement des certificats ;
  • Ajout de la possibilité de charger des certificats SSL et des clés privées à partir de variables sans utiliser de fichiers intermédiaires ;
  • Dans le bloc «upstream» a été intégrée une nouvelle directive «random«, permettant d'organiser l'équilibrage de charge avec un choix aléatoire du serveur pour le passage de la connexion ;
  • Dans le module ngx_stream_ssl_preread la variable $ssl_preread_protocol,
    a été mise en œuvre, déterminant la version la plus élevée du protocole SSL/TLS prise en charge par le client. Cette variable permet de créer des configurations pour accéder à des services utilisant différents protocoles avec et sans SSL via un seul port réseau lors du proxy des trafics utilisant les modules http et stream. Par exemple, pour organiser un accès en SSH et HTTPS via un seul port, le port 443 par défaut peut être redirigé vers SSH, mais si une version SSL est définie, il redirige vers HTTPS.
  • Dans le module upstream, une nouvelle variable «$upstream_bytes_sent« a été ajoutée, indiquant le nombre de bytes transférés au serveur du groupe ;
  • Dans le module stream , la possibilité de traiter plusieurs datagrammes UDP entrants d'un client au sein d'une même session a été ajoutée ;
  • Dans le module stream, la directive «proxy_requests«, définit le nombre de datagrammes reçus d'un client, après lequel le lien entre le client et l'existence d'une session UDP est supprimé. Après réception du nombre spécifié de datagrammes, le prochain datagramme reçu du même client démarre une nouvelle session ;
  • Dans la directive listen, il est maintenant possible de spécifier des plages de ports ;
  • Directive ajoutée «ssl_early_data» pour activer le mode 0-RTT lors de l'utilisation de TLSv1.3, qui permet de conserver les paramètres de connexion TLS précédemment négociés et de réduire à 2 le nombre de RTT lors de la reprise d'une connexion établie auparavant;
  • Pour configurer le keepalive pour les connexions sortantes (activation ou désactivation de l'option SO_KEEPALIVE pour les sockets), de nouvelles directives ont été ajoutées :
    • «proxy_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur proxy;
    • «fastcgi_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur FastCGI;
    • «grpc_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur gRPC;
    • «memcached_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur memcached;
    • «scgi_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur SCGI;
    • «uwsgi_socket_keepalive» — configure le comportement de « TCP keepalive » pour les connexions sortantes vers le serveur uwsgi.
  • La directive «limit_req » a été ajoutée avec un nouveau paramètre « delay », définissant la limite au-delà de laquelle les requêtes excessives sont retardées;
  • De nouvelles directives « keepalive_timeout » et « keepalive_requests » ont été ajoutées au bloc « upstream » pour définir des limites pour Keepalive;
  • La directive « ssl » a été déclarée obsolète, remplacée par le paramètre « ssl » dans la directive « listen ». La définition des certificats SSL manquants est désormais effectuée lors de la phase de test de la configuration lorsque l'on utilise la directive « listen » avec le paramètre « ssl »;
  • Lors de l'utilisation de la directive reset_timedout_connection, les connexions sont désormais fermées avec le code 444 lorsque le délai d'attente est écoulé;
  • Les erreurs SSL « http request », « https proxy request », « unsupported protocol » et « version too low » sont désormais affichées dans le journal avec un niveau « info » au lieu de « crit »;
  • Ajout de la prise en charge de la méthode poll sur les systèmes Windows sous Windows Vista et versions ultérieures;
  • Il est désormais possible d'utiliser TLSv1.3 lors de la compilation avec la bibliothèque BoringSSL, et pas seulement avec OpenSSL.

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