Wydanie nginx 1.16.0

Po roku prac rozwojowych została zaprezentowana nowa stabilna gałąź wysoko wydajnego serwera HTTP i wieloprotokołowego serwera proxy nginx 1.16.0, która zawiera zmiany zgromadzone w gałęzi głównej 1.15.x. W przyszłości wszystkie zmiany w stabilnej gałęzi 1.16 będą dotyczyć usuwania poważnych błędów i luk w zabezpieczeniach. Wkrótce utworzona zostanie główna gałąź nginx 1.17, w ramach której będzie kontynuowany rozwój nowych możliwości. Dla zwykłych użytkowników, którzy nie mają za zadanie zapewnienia zgodności z modułami zewnętrznymi, zaleca się używać głównej gałęzi, na podstawie której co trzy miesiące tworzone są wydania komercyjnego produktu Nginx Plus.

Najbardziej zauważalne ulepszenia wprowadzone podczas tworzenia głównej gałęzi 1.15.x:

  • Dodano możliwość użycia zmiennych w dyrektywach 'ssl_certificate' i 'ssl_certificate_key', co można wykorzystać do dynamicznego ładowania certyfikatów;
  • Dodano możliwość ładowania certyfikatów SSL i kluczy prywatnych ze zmiennych bez używania plików pośrednich;
  • W bloku 'upstream' wprowadzono nową dyrektywę 'random', dzięki której można zorganizować równoważenie obciążenia z losowym wyborem serwera do przekazywania połączenia;
  • W module ngx_stream_ssl_preread wprowadzono zmienną $ssl_preread_protocol,
    , która określa najwyższą wersję protokołu SSL/TLS, którą obsługuje klient. Zmienna ta umożliwia tworzenie konfiguracji do dostępu przy użyciu różnych protokołów zarówno z SSL, jak i bez SSL przez jeden port sieciowy podczas proxy'owania ruchu z użyciem modułów http i stream. Na przykład, aby zorganizować dostęp przez SSH i HTTPS przez jeden port 443, domyślnie można przekazywać na SSH, ale jeśli określona jest wersja SSL, przekazywać na HTTPS.
  • W module upstream dodano nową zmienną '$upstream_bytes_sent', która wyświetla liczbę bajtów przesłanych do serwera grupy;
  • W module stream w ramach jednego sesji dodano możliwość przetwarzania wielu przychodzących datagramów UDP od klienta;
  • W module stream dodano dyrektywę 'proxy_requests', określającą liczbę datagramów otrzymanych od klienta, po osiągnięciu której znika powiązanie między klientem a istniejącą sesją UDP. Po otrzymaniu określonej liczby datagramów następny datagram otrzymany od tego samego klienta rozpoczyna nową sesję;
  • W dyrektywie listen pojawiła się możliwość określenia zakresów portów;
  • Dodano dyrektywę 'ssl_early_data' w celu włączenia trybu 0-RTT przy użyciu TLSv1.3, który pozwala zachować wcześniej uzgodnione parametry połączenia TLS i zmniejszyć liczbę RTT do 2 podczas wznawiania wcześniej ustanowionego połączenia;
  • Aby skonfigurować keepalive dla wychodzących połączeń (włączenie lub wyłączenie opcji SO_KEEPALIVE dla gniazd), dodano nowe dyrektywy:
    • «proxy_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera proxy;
    • «fastcgi_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera FastCGI;
    • «grpc_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera gRPC;
    • «memcached_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera memcached;
    • «scgi_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera SCGI;
    • «uwsgi_socket_keepalivekonfiguruje zachowanie «TCP keepalive» dla wychodzących połączeń do serwera uwsgi.
  • Do dyrektywy «limit_req» dodano nowy parametr «delay», który ustala limit, po osiągnięciu którego nadmiarowe żądania są opóźniane;
  • W bloku «upstream» dodano nowe dyrektywy «keepalive_timeout» i «keepalive_requests» do określenia limitów dla Keepalive;
  • Dyrektywa «ssl» została uznana za przestarzałą, a jej miejsce zajęła opcja «ssl» w dyrektywie «listen». Określenie brakujących certyfikatów SSL odbywa się teraz na etapie testowania konfiguracji przy użyciu dyrektywy «listen» z parametrem «ssl»;
  • Przy użyciu dyrektywy reset_timedout_connection, po upływie limitu czasu połączenia, teraz są one zamykane z zastosowaniem kodu 444;
  • Błędy SSL «http request», «https proxy request», «unsupported protocol» i «version too low» są teraz rejestrowane w logach z poziomem «info» zamiast «crit»;
  • Dodano wsparcie dla metody poll w systemach Windows przy użyciu Windows Vista i nowszych;
  • Zapewniono możliwość użycia TLSv1.3 przy kompilacji z biblioteką BoringSSL, a nie tylko z OpenSSL.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster