Wydanie nginx 1.16.0

Po roku rozwoju reprezentowany przez nowa stabilna gałąź wysokowydajnego serwera HTTP i wieloprotokołowego serwera proxy nginx 1.16.0, który wchłonął zmiany zgromadzone w głównej gałęzi 1.15.x. W przyszłości wszystkie zmiany w stabilnej gałęzi 1.16 będą związane z eliminacją poważnych błędów i podatności. Wkrótce powstanie główna gałąź nginx 1.17, w ramach której kontynuowany będzie rozwój nowych funkcji. Dla zwykłych użytkowników, którzy nie mają za zadanie zapewnić kompatybilności z modułami firm trzecich, zalecane korzystaj z głównej gałęzi, na bazie której co trzy miesiące powstają wydania komercyjnego produktu Nginx Plus.

Najbardziej godne uwagi ulepszenia dodane podczas opracowywania gałęzi upstream 1.15.x:

  • Dodano możliwość używania zmiennych w dyrektywach 'ssl_certificate' I 'ssl_certificate_key', którego można używać do dynamicznego ładowania certyfikatów;
  • Dodano możliwość ładowania certyfikatów SSL i tajnych kluczy ze zmiennych bez użycia plików pośrednich;
  • W bloku”pod prąd» nowa dyrektywa wdrożona «przypadkowy„, za pomocą którego można zorganizować równoważenie obciążenia z losowym wyborem serwera do przekazywania połączenia;
  • W module ngx_stream_ssl_preread zaimplementowana zmienna Protokół $ssl_preread_protocol,
    który określa najwyższą wersję protokołu SSL/TLS obsługiwaną przez klienta. Zmienna pozwala tworzyć konfiguracje do dostępu przy użyciu różnych protokołów z i bez SSL przez jeden port sieciowy podczas ruchu proxy za pomocą modułów http i strumieniowych. Na przykład, aby zorganizować dostęp przez SSH i HTTPS przez jeden port, port 443 może być domyślnie przekierowany do SSH, ale jeśli zdefiniowano wersję SSL, przekieruj do HTTPS.

  • Do modułu upstream dodano nową zmienną „$upstream_bytes_sent", który wyświetla liczbę bajtów przesłanych do serwera grupy;
  • Do modułu strumień w ramach jednej sesji dodano możliwość przetwarzania kilku przychodzących datagramów UDP od klienta;
  • Dyrektywa”żądania_proxy", określa liczbę datagramów otrzymanych od klienta, po osiągnięciu której powiązanie między klientem a istniejącą sesją UDP zostaje usunięte. Po odebraniu określonej liczby datagramów, kolejny datagram otrzymany od tego samego klienta rozpoczyna nową sesję;
  • Dyrektywa Listen ma teraz możliwość określenia zakresów portów;
  • Dodano dyrektywę „ssl_early_data» aby włączyć tryb 0-RTT przy korzystaniu z protokołu TLSv1.3, który umożliwia zapisanie wcześniej wynegocjowanych parametrów połączenia TLS i zmniejszenie liczby RTT do 2 przy wznawianiu wcześniej nawiązanego połączenia;
  • Dodano nowe dyrektywy umożliwiające skonfigurowanie funkcji Keepalive dla połączeń wychodzących (włączenie lub wyłączenie opcji SO_KEEPALIVE dla gniazd):

    • «proxy_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących z serwerem proxy;
    • «fastcgi_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących do serwera FastCGI;
    • «grpc_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących do serwera gRPC;
    • «memcached_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących z serwerem memcached;
    • «scgi_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących z serwerem SCGI;
    • «uwsgi_socket_keepalive" - konfiguruje zachowanie "TCP keepalive" dla połączeń wychodzących z serwerem uwsgi.
  • W dyrektywie”limit_req" dodano nowy parametr „opóźnienie”, który określa limit, po przekroczeniu którego nadmiarowe żądania są opóźniane;
  • Do bloku „upstream” dodano nowe dyrektywy „keepalive_timeout” i „keepalive_requests”, aby ustawić limity dla Keepalive;
  • Dyrektywa „ssl” została uznana za przestarzałą i zastąpiona parametrem „ssl” w dyrektywie „listen”. Brakujące certyfikaty SSL są teraz wykrywane na etapie testowania konfiguracji, gdy używasz dyrektywy „listen” z parametrem „ssl” w ustawieniach;
  • Podczas korzystania z dyrektywy reset_timedout_connection połączenia są teraz zamykane kodem 444 po upływie limitu czasu;
  • Błędy SSL „żądanie http”, „żądanie proxy https”, „nieobsługiwany protokół” i „za niska wersja” są teraz wyświetlane w dzienniku z poziomem „info” zamiast „krytyczny”;
  • Dodano obsługę metody odpytywania w systemach Windows podczas korzystania z systemu Windows Vista i nowszych;
  • Możliwość wykorzystania TLSv1.3 podczas budowania z biblioteką BoringSSL, a nie tylko OpenSSL.

Źródło: opennet.ru

Dodaj komentarz