Phát hành nginx 1.18.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.18.0, hấp thụ những thay đổi tích lũy trong nhánh chính 1.17.x. Trong tương lai, mọi thay đổi trong nhánh ổn định 1.18 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.19 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.

Theo báo cáo tháng XNUMX Netcraft nginx được sử dụng trên 19.56% trong số tất cả các trang web đang hoạt động (một năm trước là 20.73%, hai năm trước là 21.02%), tương ứng với vị trí phổ biến thứ hai trong danh mục này (Tỷ lệ của Apache tương ứng với 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . Đồng thời, khi xem xét tất cả các trang web, nginx vẫn giữ vị trí dẫn đầu và chiếm 36.91% thị trường (27.52% một năm trước), trong khi thị phần của Apache tương ứng với 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Trong số hàng triệu trang web được truy cập nhiều nhất trên thế giới, thị phần của nginx là 25.54% (một năm trước là 26.22%, hai năm trước là 23.76%). Hiện tại, có khoảng 459 triệu trang web đang chạy Nginx (397 triệu một năm trước). Qua cho W3Techs nginx được sử dụng trên 31.9% trang web trong số hàng triệu trang web được truy cập nhiều nhất, vào tháng 41.8 năm ngoái, con số này là 38%, năm trước - 43.6% (sự sụt giảm được giải thích là do việc chuyển sang hạch toán riêng của máy chủ Cloudflare http). Thị phần của Apache đã giảm trong năm từ 38.9% xuống 8.6% và thị phần của Microsoft IIS từ 8.3% xuống XNUMX%. Ở Nga nginx được sử dụng trên 78.9% trang web được truy cập nhiều nhất (một năm trước - 81%).

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.17.x:

  • Đã thêm chỉ thị giới hạn_req_dry_run, kích hoạt chế độ chạy thử, trong đó không áp dụng hạn chế nào về cường độ xử lý yêu cầu (không giới hạn tốc độ), nhưng vẫn tiếp tục tính đến số lượng yêu cầu vượt quá giới hạn trong bộ nhớ dùng chung;
  • Đã thêm chỉ thị giới hạn_conn_dry_run, chuyển mô-đun ngx_http_limit_conn_module sang chế độ chạy thử, trong đó số lượng kết nối không bị giới hạn nhưng được tính đến;
  • Đã thêm chỉ thị "auth_delay", cho phép bạn thêm độ trễ cho các yêu cầu trái phép với mã phản hồi là 401 để giảm cường độ đoán mật khẩu và bảo vệ khỏi các cuộc tấn công, thao tác đo thời gian thực hiện các hoạt động (tấn công định thời) khi truy cập vào các hệ thống bị hạn chế quyền truy cập mật khẩu mở khóa, kết quả của truy vấn phụ hoặc J.W.T. (Mã thông báo Web JSON);
  • Đã thêm hỗ trợ cho các biến trong chỉ thị "limit_rate" và "limit_rate_after", cũng như trong chỉ thị "proxy_upload_rate" và "proxy_download_rate" của mô-đun luồng;
  • Trong chỉ thị grpc_pass đã thêm hỗ trợ cho việc sử dụng biến trong tham số xác định địa chỉ. Nếu địa chỉ được chỉ định làm tên miền, tên đó sẽ được tìm kiếm trong số các nhóm máy chủ được mô tả và nếu không tìm thấy thì sẽ được xác định bằng cách sử dụng trình phân giải;
  • Các biến mới được thêm vào $proxy_protocol_server_addr и $proxy_protocol_server_port, chứa địa chỉ máy chủ và cổng thu được từ tiêu đề giao thức PROXY;
  • Trong mô-đun ngx_stream_limit_conn_module biến được thêm vào $limit_conn_status, lưu trữ kết quả của việc giới hạn số lượng kết nối: PASSED, REJECTED hoặc REJECTED_DRY_RUN;
  • Trong mô-đun ngx_http_limit_req_module biến được thêm vào $limit_req_status, lưu trữ kết quả của việc giới hạn tốc độ đến của các yêu cầu: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN hoặc REJECTED_DRY_RUN;
  • Theo mặc định, mô-đun được lắp ráp ngx_http_postpone_filter_module;
  • Đã thêm hỗ trợ để chuyển đổi các khối "vị trí" được đặt tên bằng phương thức $r->internal_redirect() do trình thông dịch Perl tích hợp sẵn cung cấp. Phương pháp này hiện liên quan đến việc xử lý các URI có ký tự thoát;
  • Khi sử dụng lệnh “ngược dòng” trong khối cài đặt “ngược dòng”băm» để tổ chức cân bằng tải với liên kết máy khách-máy chủ, nếu bạn chỉ định một giá trị khóa trống, chế độ cân bằng thống nhất (quay vòng) hiện được kích hoạt;
  • Đã thêm hỗ trợ gọi ioctl(FIONREAD) nếu có để tránh đọc từ kết nối nhanh theo thời gian.

Nguồn: opennet.ru

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