nginx 1.16.0 منتشر شد

پس از یک سال توسعه ارایه شده شاخه پایدار جدید سرور HTTP با کارایی بالا و سرور پروکسی چند پروتکلی nginx 1.16.0، که تغییرات انباشته شده در شاخه اصلی 1.15.x را جذب کرد. در آینده، تمام تغییرات در شاخه پایدار 1.16 مربوط به حذف خطاها و آسیب پذیری های جدی خواهد بود. شاخه اصلی nginx 1.17 به زودی تشکیل می شود که در آن توسعه ویژگی های جدید ادامه خواهد داشت. برای کاربران عادی که وظیفه اطمینان از سازگاری با ماژول های شخص ثالث را ندارند، توصیه می شود از شعبه اصلی استفاده کنید که بر اساس آن هر سه ماه یکبار انتشار محصول تجاری Nginx Plus تشکیل می شود.

قابل توجه ترین پیشرفت های اضافه شده در طول توسعه شاخه بالادستی 1.15.x:

  • قابلیت استفاده از متغیرها در دستورالعمل ها اضافه شدssl_certificate'و'ssl_certificate_key'، که می تواند برای بارگذاری پویا گواهی ها استفاده شود.
  • اضافه شدن قابلیت بارگیری گواهینامه های SSL و کلیدهای مخفی از متغیرها بدون استفاده از فایل های میانی.
  • در بلوک "بالادست» بخشنامه جدید اجرا شد »تصادفی"، با کمک آن می توانید تعادل بار را با انتخاب تصادفی یک سرور برای ارسال اتصال سازماندهی کنید.
  • در ماژول ngx_stream_ssl_preread متغیر پیاده سازی شده است $ssl_preread_protocol,
    که بالاترین نسخه پروتکل SSL/TLS را که کلاینت پشتیبانی می کند را مشخص می کند. متغیر اجازه می دهد ایجاد تنظیمات برای دسترسی با استفاده از پروتکل های مختلف با و بدون SSL از طریق یک پورت شبکه هنگام پروکسی ترافیک با استفاده از ماژول های http و جریان. به عنوان مثال، برای سازماندهی دسترسی از طریق SSH و HTTPS از طریق یک پورت، پورت 443 را می توان به طور پیش فرض به SSH ارسال کرد، اما اگر نسخه SSL تعریف شده باشد، به HTTPS فوروارد شود.

  • یک متغیر جدید به ماژول بالادست اضافه شده است "$upstream_bytes_sent"، که تعداد بایت های منتقل شده به سرور گروه را نمایش می دهد.
  • به ماژول جریان در یک جلسه، توانایی پردازش چندین دیتاگرام UDP ورودی از مشتری اضافه شده است.
  • بخشنامه "پروکسی_درخواستها"، تعداد دیتاگرام های دریافت شده از کلاینت را مشخص می کند که پس از رسیدن به آن، اتصال بین مشتری و جلسه UDP موجود حذف می شود. پس از دریافت تعداد مشخص شده دیتاگرام، دیتاگرام بعدی دریافت شده از همان کلاینت جلسه جدیدی را آغاز می کند.
  • دستورالعمل listen اکنون توانایی تعیین محدوده پورت را دارد.
  • بخشنامه اضافه شده "ssl_early_data» برای فعال کردن حالت 0-RTT هنگام استفاده از TLSv1.3، که به شما امکان می دهد پارامترهای اتصال TLS قبلاً مذاکره شده را ذخیره کنید و هنگام از سرگیری اتصال قبلی ایجاد شده، تعداد RTTها را به 2 کاهش دهید.
  • دستورالعمل های جدیدی برای پیکربندی keepalive برای اتصالات خروجی اضافه شده است (فعال یا غیرفعال کردن گزینه SO_KEEPALIVE برای سوکت ها):

    • «proxy_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور پروکسی پیکربندی می کند.
    • «fastcgi_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور FastCGI پیکربندی می کند.
    • «grpc_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور gRPC پیکربندی می کند.
    • «memcached_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور memcached پیکربندی می کند.
    • «scgi_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور SCGI پیکربندی می کند.
    • «uwsgi_socket_keepalive" - رفتار "TCP keepalive" را برای اتصالات خروجی به سرور uwsgi پیکربندی می کند.
  • در بخشنامه "limit_req" یک پارامتر جدید "تاخیر" اضافه کرد که محدودیتی را تعیین می کند که پس از آن درخواست های اضافی به تاخیر می افتد.
  • دستورالعمل های جدید "keepalive_timeout" و "keepalive_requests" به بلوک "upstream" اضافه شده اند تا محدودیت هایی برای Keepalive تعیین کنند.
  • دستورالعمل "ssl" منسوخ شده است و با پارامتر "ssl" در دستورالعمل "گوش دادن" جایگزین شده است. گواهینامه های SSL مفقود اکنون در مرحله آزمایش پیکربندی هنگام استفاده از دستورالعمل "گوش دادن" با پارامتر "ssl" در تنظیمات شناسایی می شوند.
  • هنگام استفاده از دستورالعمل reset_timedout_connection، اتصالات اکنون با یک کد 444 بسته می شوند که زمان منقضی شود.
  • خطاهای SSL «درخواست http»، «درخواست پروکسی https»، «پروتکل پشتیبانی‌نشده» و «نسخه خیلی کم» اکنون با سطح «info» به جای «crit» در گزارش نمایش داده می‌شوند.
  • پشتیبانی از روش نظرسنجی در سیستم های ویندوز هنگام استفاده از ویندوز ویستا و نسخه های جدیدتر اضافه شد.
  • امکان استفاده TLSv1.3 هنگام ساخت با کتابخانه BoringSSL، نه فقط OpenSSL.

منبع: opennet.ru

اضافه کردن نظر