إصدار 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 وstream. على سبيل المثال، لتنظيم الوصول عبر SSH وHTTPS من خلال منفذ واحد، يمكن إعادة توجيه المنفذ 443 افتراضيًا إلى SSH، ولكن إذا تم تحديد إصدار SSL، فيمكن إعادة توجيهه إلى HTTPS.

  • تمت إضافة متغير جديد إلى الوحدة الأولية "$upstream_bytes_sent"، الذي يعرض عدد البايتات المنقولة إلى خادم المجموعة؛
  • إلى الوحدة النمطية مجرى خلال جلسة واحدة، تمت إضافة القدرة على معالجة العديد من مخططات بيانات UDP الواردة من العميل؛
  • التوجيه "proxy_requests"، يحدد عدد مخططات البيانات المستلمة من العميل، وعند الوصول إليها تتم إزالة الارتباط بين العميل وجلسة UDP الحالية. بعد تلقي العدد المحدد من مخططات البيانات، يبدأ مخطط البيانات التالي المستلم من نفس العميل جلسة جديدة؛
  • يتمتع توجيه الاستماع الآن بالقدرة على تحديد نطاقات المنافذ؛
  • التوجيه المضافة "ssl_early_data» لتمكين الوضع 0-RTT عند استخدام TLSv1.3، والذي يسمح لك بحفظ معلمات اتصال TLS التي تم التفاوض عليها مسبقًا وتقليل عدد RTTs إلى 2 عند استئناف اتصال تم إنشاؤه مسبقًا؛
  • تمت إضافة توجيهات جديدة لتكوين البقاء على قيد الحياة للاتصالات الصادرة (تمكين أو تعطيل خيار 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" في الإعدادات؛
  • عند استخدام التوجيهset_timedout_connection، يتم الآن إغلاق الاتصالات برمز 444 عند انتهاء المهلة؛
  • يتم الآن عرض أخطاء SSL "طلب http" و"طلب الوكيل https" و"البروتوكول غير المدعوم" و"الإصدار منخفض جدًا" في السجل بالمستوى "معلومات" بدلاً من "الحرج"؛
  • تمت إضافة دعم لطريقة الاستقصاء على أنظمة Windows عند استخدام نظام التشغيل Windows Vista والإصدارات الأحدث؛
  • إمكانية الاستخدام TLSv1.3 عند الإنشاء باستخدام مكتبة BoringSSL، وليس OpenSSL فقط.

المصدر: opennet.ru

إضافة تعليق