Phát hành nginx 1.16.0

Sau một năm phát triển được trình bày nhánh ổn định mới của máy chủ HTTP hiệu suất cao và máy chủ proxy đa giao thức nginx 1.16.0, hấp thụ những thay đổi tích lũy trong nhánh chính 1.15.x. Trong tương lai, mọi thay đổi trong nhánh ổn định 1.16 sẽ liên quan đến việc loại bỏ các lỗi và lỗ hổng nghiêm trọng. Nhánh chính của nginx 1.17 sẽ sớm được hình thành, trong đó việc phát triển các tính năng mới sẽ tiếp tục. Đối với người dùng thông thường không có nhiệm vụ đảm bảo khả năng tương thích với các mô-đun của bên thứ ba, đề nghị sử dụng nhánh chính, trên cơ sở đó các bản phát hành sản phẩm thương mại Nginx Plus được hình thành ba tháng một lần.

Những cải tiến đáng chú ý nhất được thêm vào trong quá trình phát triển nhánh ngược dòng 1.15.x:

  • Đã thêm khả năng sử dụng các biến trong chỉ thị 'ssl_certificate' và 'ssl_certificate_key', có thể được sử dụng để tải động các chứng chỉ;
  • Đã thêm khả năng tải chứng chỉ SSL và khóa bí mật từ các biến mà không cần sử dụng tệp trung gian;
  • Trong khối "Thượng nguồn» chỉ thị mới được thực hiện «ngẫu nhiên“, với sự trợ giúp của nó, bạn có thể tổ chức cân bằng tải bằng cách chọn ngẫu nhiên máy chủ để chuyển tiếp kết nối;
  • Trong mô-đun ngx_stream_ssl_preread biến thực hiện $ssl_preread_protocol,
    trong đó chỉ định phiên bản cao nhất của giao thức SSL/TLS mà máy khách hỗ trợ. Biến cho phép tạo cấu hình để truy cập bằng nhiều giao thức khác nhau có và không có SSL thông qua một cổng mạng khi ủy quyền lưu lượng truy cập bằng mô-đun http và luồng. Ví dụ: để tổ chức quyền truy cập qua SSH và HTTPS thông qua một cổng, cổng 443 có thể được chuyển tiếp theo mặc định tới SSH, nhưng nếu phiên bản SSL được xác định, hãy chuyển tiếp tới HTTPS.

  • Một biến mới đã được thêm vào mô-đun ngược dòng "$upstream_bytes_đã gửi", hiển thị số byte được truyền đến máy chủ nhóm;
  • Để mô-đun dòng trong một phiên, khả năng xử lý một số gói dữ liệu UDP đến từ máy khách đã được thêm vào;
  • Chỉ thị "proxy_request", chỉ định số lượng datagram nhận được từ máy khách, khi đạt đến mức ràng buộc giữa máy khách và phiên UDP hiện tại sẽ bị xóa. Sau khi nhận được số lượng datagram được chỉ định, datagram tiếp theo nhận được từ cùng một khách hàng sẽ bắt đầu một phiên mới;
  • Lệnh listen bây giờ có khả năng chỉ định phạm vi cổng;
  • Đã thêm chỉ thị "ssl_early_data» để kích hoạt chế độ 0-RTT khi sử dụng TLSv1.3, cho phép bạn lưu các tham số kết nối TLS đã đàm phán trước đó và giảm số lượng RTT xuống còn 2 khi tiếp tục kết nối đã thiết lập trước đó;
  • Các lệnh mới đã được thêm vào để định cấu hình tính năng lưu giữ cho các kết nối gửi đi (bật hoặc tắt tùy chọn SO_KEEPALIVE cho ổ cắm):

    • «proxy_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ được ủy quyền;
    • «fastcgi_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ FastCGI;
    • «grpc_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ gRPC;
    • «memcached_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ memcached;
    • «scgi_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ SCGI;
    • «uwsgi_socket_keepalive" - định cấu hình hành vi "TCP keepalive" cho các kết nối gửi đi tới máy chủ uwsgi.
  • Trong chỉ thị "giới hạn_req" đã thêm một tham số mới “độ trễ”, đặt giới hạn sau đó các yêu cầu dư thừa sẽ bị trì hoãn;
  • Các lệnh mới “keepalive_timeout” và “keepalive_requests” đã được thêm vào khối “upstream” để đặt giới hạn cho Keepalive;
  • Lệnh "ssl" không còn được dùng nữa và được thay thế bằng tham số "ssl" trong lệnh "nghe". Chứng chỉ SSL bị thiếu hiện được phát hiện ở giai đoạn kiểm tra cấu hình khi sử dụng lệnh “nghe” với tham số “ssl” trong cài đặt;
  • Khi sử dụng lệnh reset_timedout_connection, các kết nối hiện bị đóng bằng mã 444 khi hết thời gian chờ;
  • Lỗi SSL "yêu cầu http", "yêu cầu proxy https", "giao thức không được hỗ trợ" và "phiên bản quá thấp" hiện được hiển thị trong nhật ký với cấp độ "thông tin" thay vì "crit";
  • Đã thêm hỗ trợ cho phương thức thăm dò ý kiến ​​trên hệ thống Windows khi sử dụng Windows Vista trở lên;
  • Khả năng sử dụng TLSv1.3 khi xây dựng bằng thư viện BoringSSL chứ không chỉ OpenSSL.

Nguồn: opennet.ru

Thêm một lời nhận xét