Nginx 1.18.0 хувилбарыг гарга

Жилийн хөгжлийн дараа танилцуулсан өндөр хүчин чадалтай HTTP сервер болон олон протокол прокси серверийн шинэ тогтвортой салбар nginx 1.18.0 хувилбартай, үндсэн салбар дотор хуримтлагдсан өөрчлөлтийг шингээсэн 1.17.x. Ирээдүйд тогтвортой салбар 1.18 дахь бүх өөрчлөлт нь ноцтой алдаа, эмзэг байдлыг арилгахтай холбоотой байх болно. Удахгүй nginx 1.19-ийн үндсэн салбар байгуулагдах бөгөөд үүний хүрээнд шинэ функцуудыг хөгжүүлэх ажил үргэлжлэх болно. Гуравдагч талын модулиудтай нийцтэй байдлыг хангах үүрэггүй энгийн хэрэглэгчдийн хувьд, санал болгож байна үндсэн салбарыг ашигла, үүний үндсэн дээр арилжааны бүтээгдэхүүний Nginx Plus-ийг гурван сар тутамд гаргадаг.

Дагуу Дөрөвдүгээр сарын тайлан Netcraft nginx-ийг бүх идэвхтэй сайтуудын 19.56% (жилийн өмнө 20.73%, хоёр жилийн өмнө 21.02%) ашигладаг бөгөөд энэ ангилалд нэр хүндээрээ хоёрдугаарт ордог (Apache-ийн эзлэх хувь 27.64%, Google - 10.03%, Microsoft 4.77%). IIS - 36.91%) . Үүний зэрэгцээ, бүх сайтуудыг авч үзэхэд nginx манлайллаа хадгалж, зах зээлийн 27.52% (жилийн өмнө 24.73%), Apache-ийн эзлэх хувь 12.85%, Microsoft IIS - 3.42%, Google - XNUMX% -ийг эзэлж байна.

Дэлхийн хамгийн их зочилсон сая сая сайтын дотор nginx-ийн эзлэх хувь 25.54% (жилийн өмнө 26.22%, хоёр жилийн өмнө 23.76%) байна. Одоогийн байдлаар 459 сая орчим вэбсайт Nginx-ийг ажиллуулж байна (жилийн өмнө 397 сая). By өгөгдөл W3Techs nginx нь сая сая хамгийн их зочилсон сайтуудын 31.9% дээр ашиглагдаж байгаа бол өнгөрсөн оны 41.8-р сард энэ үзүүлэлт 38%, өмнөх жил 43.6% байсан (бууралтыг Cloudflare http серверийн тусдаа бүртгэлд шилжсэнтэй холбон тайлбарлаж байна). Жилийн туршид Apache-ийн эзлэх хувь 38.9% -иас 8.6%, Microsoft IIS-ийн эзлэх хувь 8.3% -иас XNUMX% болж буурчээ. Орос улсад nginx ашиглаж байна хамгийн их зочилсон сайтуудын 78.9% дээр (жилийн өмнө - 81%).

1.17.x дээд талын салбарыг хөгжүүлэх явцад нэмсэн хамгийн гайхалтай сайжруулалтууд:

  • Удирдамж нэмсэн хязгаар_req_dry_run, туршилтын горимыг идэвхжүүлдэг бөгөөд энэ нь хүсэлтийг боловсруулах эрчмд хязгаарлалт тавьдаггүй (хурдны хязгаарлалтгүйгээр), гэхдээ хуваалцсан санах ойн хязгаараас давсан хүсэлтийн тоог үргэлжлүүлэн авч үздэг;
  • Удирдамж нэмсэн хязгаарлалт_конн_хуурай_ гүйх, энэ нь ngx_http_limit_conn_module модулийг туршилтын горимд шилжүүлдэг бөгөөд үүнд холболтын тоо хязгаарлагдахгүй, гэхдээ үүнийг харгалзан үздэг;
  • Заавар нэмсэн "auth_dayay", энэ нь нууц үг таах эрчмийг бууруулж, түүнээс хамгаалахын тулд 401 хариу код бүхий зөвшөөрөлгүй хүсэлтэд саатал нэмэх боломжийг олгодог. дайралт, хандалт хязгаарлагдмал системд хандах үед үйлдлийн гүйцэтгэлийн хугацааг хэмжих (цаг хугацааны халдлага) нууц үг, дэд асуулгын үр дүн буюу J.W.T. (JSON вэб токен);
  • "хязгаар_хязгаарлалт" ба "хязгаарлалтын_хязгаарын_дараа" зааврын хувьсагчид, мөн урсгалын модулийн "прокси_байршуулах_хувь" болон "прокси_татаж авах_хувь" удирдамжид нэмэлт дэмжлэг нэмсэн;
  • Зааварт grpc_pass хаягийг тодорхойлсон параметрт хувьсагчийг ашиглах дэмжлэгийг нэмсэн. Хэрэв хаягийг домэйн нэрээр зааж өгсөн бол нэрийг тодорхойлсон серверүүдийн бүлгүүдийн дунд хайж олох бөгөөд хэрэв олдохгүй бол шийдэгч ашиглан тодорхойлно;
  • Шинэ хувьсагч нэмэгдсэн $proxy_protocol_server_addr и $proxy_protocol_server_port, PROXY протоколын толгой хэсгээс олж авсан серверийн хаяг болон портыг агуулсан;
  • Модульд ngx_stream_limit_conn_module хувьсагч нэмэгдсэн $ Limit_conn_status, холболтын тоог хязгаарласан үр дүнг хадгалдаг: PASSED, REJECTED эсвэл REJECTED_DRY_RUN;
  • Модульд ngx_http_limit_req_module хувьсагч нэмэгдсэн $ Limit_req_status, хүсэлтийн ирэлтийн хурдыг хязгаарласан үр дүнг хадгалдаг: ДАМЖСАН, ХОЦРОГДСОН, ТАТГАЛСАН, ХОЦРОГДСОН_ХУУРСАН_ГҮЙЦЭТГЭЛ эсвэл ТАТГАЛСАН_ХУУРСАН_ГҮЙЦЭТГЭЛ;
  • Анхдагч байдлаар, модулийг угсардаг ngx_http_postpone_filter_module;
  • Perl орчуулагчийн суулгасан $r->internal_redirect() аргыг ашиглан "байршил" нэртэй блокуудыг сэлгэх дэмжлэг нэмсэн. Энэ арга нь одоо зугтсан тэмдэгтүүдтэй URI-г боловсруулахад хамаарна;
  • "дээд урсгал" тохиргооны блок дахь "дээд урсгал" удирдамжийг ашиглах үедHash» Үйлчлүүлэгч-сервер холболтоор ачааллын тэнцвэржүүлэлтийг зохион байгуулахын тулд хоосон түлхүүрийн утгыг зааж өгвөл жигд тэнцвэржүүлэх горим (дугуй эргэлт) идэвхжсэн;
  • Цаг хугацаа өнгөрөх тусам хурдан холболтоос уншихаас зайлсхийхийн тулд боломжтой бол ioctl(FIONREAD) руу залгах дэмжлэг нэмэгдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх