Na een jaar van ontwikkeling de nieuwe stabiele tak van de high-performance HTTP-server en multi-protocol proxyserver , die de wijzigingen heeft samengevoegd die zijn opgetreden in de hoofdversie 1.15.x. In de toekomst zullen alle wijzigingen in de stabiele tak 1.16 gericht zijn op het oplossen van ernstige fouten en kwetsbaarheden. Binnenkort zal de hoofdversie nginx 1.17 worden gevormd, waarin de ontwikkeling van nieuwe mogelijkheden zal doorgaan. Voor gewone gebruikers die geen compatibiliteit met externe modules hoeven te waarborgen, is het aan te raden de hoofdversie te gebruiken, waarop elke drie maanden nieuwe versies van het commerciële product Nginx Plus worden uitgebracht.
De meest merkbare verbeteringen die zijn aangebracht tijdens het vormen van de hoofdversie 1.15.x:
- De mogelijkheid om variabelen te gebruiken in de directieven ‘‘ en ‘‘, wat kan worden gebruikt voor dynamische laadcertificaten;
- De mogelijkheid om SSL-certificaten en privésleutels uit variabelen te laden zonder gebruik te maken van tussenliggende bestanden;
- In het blok ‘‘ is een nieuwe directief ‘‘ geïmplementeerd, waarmee lastbalancering kan worden georganiseerd door willekeurig een server voor verbindingsovername te kiezen;
- In de module is een variabele geïmplementeerd, ,
die de hoogste versie van het SSL/TLS-protocol bepaalt die door de klant wordt ondersteund. De variabele maakt het mogelijk voor toegang met verschillende protocollen met en zonder SSL via één netwerkpoort bij het proxen van verkeer met behulp van http- en stream-modules. Bijvoorbeeld, voor het organiseren van toegang via SSH en HTTPS kan poort 443 standaard worden doorgegeven aan SSH, maar als een SSL-versie is gedefinieerd, doorgegeven aan HTTPS. - In de upstream-module is een nieuwe variabele ‘‘ toegevoegd, die het aantal bytes toont dat naar de server van de groep is verzonden;
- In de module in het kader van één sessie is de mogelijkheid toegevoegd om meerdere binnenkomende UDP-datagrammen van de klant te verwerken;
- In de stream-module is de directief ‘‘ toegevoegd, die het aantal datagrammen dat van de klant is ontvangen specificeert, waarna de binding tussen de klant en de bestaande UDP-sessie wordt verwijderd. Na ontvangst van het opgegeven aantal datagrammen start het volgende datagram, ontvangen van dezelfde klant, een nieuwe sessie;
- In de directive listen is het nu mogelijk om poortbereiken op te geven;
- De directive «» is toegevoegd voor het inschakelen van de modus bij het gebruik van TLSv1.3, waarmee eerder overeengekomen TLS-parameters kunnen worden behouden en het aantal RTT's bij het hervatten van een eerder opgezet verbinding kan worden verminderd tot 2;
- Voor het instellen van keepalive voor uitgaande verbindingen (het in- of uitschakelen van de optie SO_KEEPALIVE voor sockets) zijn nieuwe directives toegevoegd:
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de proxyserver;
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de FastCGI-server;
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de gRPC-server;
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de memcached-server;
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de SCGI-server;
- «» — configureert het gedrag van «TCP keepalive» voor uitgaande verbindingen naar de uwsgi-server.
- In de directive « is een nieuwe parameter «delay» toegevoegd, die een limiet instelt, waarna overtollige verzoeken worden vertraagd;
- In het blok «upstream» zijn nieuwe directives «keepalive_timeout» en «keepalive_requests» toegevoegd om limieten voor Keepalive in te stellen;
- De directive «ssl» is verouderd verklaard en de parameter «ssl» in de directive «listen» is hiervoor in de plaats gekomen. Het identificeren van ontbrekende SSL-certificaten gebeurt nu tijdens de configuratietest bij gebruik van de directive «listen» met de parameter «ssl»;
- Bij gebruik van de directive reset_timedout_connection worden verbindingen nu gesloten met code 444 wanneer de time-out is verstreken;
- SSL-fouten «http request», «https proxy request», «unsupported protocol» en «version too low» worden nu gelogd met het niveau «info» in plaats van «crit»;
- Ondersteuning voor de poll-methode is toegevoegd op Windows-systemen bij gebruik van Windows Vista en later;
- De mogelijkheid is geboden om te gebruiken bij opbouw met de BoringSSL-bibliotheek, en niet alleen met OpenSSL.
Bron: opennet.ru
