nginx (موتور x) یک منبع باز، پروکسی معکوس یک طرفه و سرور پروکسی ایمیل است، و همچنین سرور وب با کارایی بالا و سبک (HTTP) برای سیستم عامل های لینوکس، BSD و ویندوز. این توسط توسعه دهنده آن به عنوان یک پلاگین برای محیط های حیاتی مأموریت توصیف شده است.
امکانات در یک نگاه
مهمترین نکات برجسته عبارتند از پراکسی معکوس با کشیدن سریع، پشتیبانی شتاب از ذخیره سازی SCGI، FastCGI، uwsgi و سرورهای Memcached، معماری مدولار و پشتیبانی از TLS SNI و SSL.
سرور پروکسی ایمیل پشتیبانی از SSL (Secure Sockets Layer)، STLS، پروتکل های رمزگذاری شده STARTTLS، چندین روش تأیید اعتبار برای IMAP، POP3 و SMTP، تغییر مسیر کاربر به سرور POP3 یا IMAP و همچنین تأیید هویت کاربر و تغییر مسیر اتصال . از جمله ویژگی های جالب دیگر می توان به پشتیبانی از kqueue، sendfile، File AIO، DIRECTIO، فیلترهای پذیرش و خیلی چیزهای دیگر اشاره کرد.
اگر چندین بار توسط FastCGI یا سرورهای پروکسی سرور کنترل میشوند، میتوانند همزمان چندین افزونه SSI را در یک صفحه وب تکثیر کنند. علاوه بر این، بخش HTTP سرور از اعتبار سنجی رفرنس HTTP، MP4 و جریان FLV، پرل تعبیه شده، محدود کردن سرعت پاسخ، هدایت مجدد برای کدهای خطای 3xx-5xx، و همچنین پشتیبانی از اتصالات خطی و نگهداری زنده پشتیبانی می کند.
سرور هر دو فایل های شاخص و استاتیک است
این نرم افزار می تواند فایل های شاخص و استاتیکی را خدمت رسانی کند، کاربران با تحمل خطا و متعادل سازی بار ساده، فیلتر های مختلف مانند XSLT، gzipping، SSI، تبدیل تصویر، پاسخ های جعلی و محدوده های بایت را فراهم می کند.
از آنجا که پیکربندی آسان، منطقی و انعطاف پذیری را فراهم می کند، چندین وبسایت شناخته شده از نرم افزار nginx استفاده می کنند تا کاربران خود را با کیفیت و اطلاعات منحصر به فرد ارائه دهند. در میان اینها می توان به Wordpress.com، Netflix و FastMail.FM اشاره کرد.
سیستم عامل های پشتیبانی شده
در حال حاضر، nginx با موفقیت در لینوکس 2.2-3 (32 بیتی)، لینوکس 2.6-3 (64 بیتی)، FreeBSD 3-10 (32 بیتی)، FreeBSD 5-10 (64 بیتی) Solaris 9 (32 بیتی)، Solaris 10 (32 بیتی و 64 بیتی)، AIX 7.1 (PowerPC)، HP-UX 11.31 (IA64)، Mac OS X (PowerPC و 32 بیتی)، ویندوز ایکس پی و ویندوز سرور 2003.
چه جدید در این نسخه است:
nginx-1.12.0 نسخه پایدار منتشر شده است، شامل ویژگی های جدید و رفع اشکال از شاخه اصلی 1.11.x - از جمله پشتیبانی از متغیرها و پیشرفت های دیگر در ماژول جریان، رفع HTTP / 2، پشتیبانی از گواهینامه های مختلف SSL انواع مختلف، پشتیبانی از پیشرفت های پویای ماژول ها و موارد دیگر.
چه جدید در این نسخه است:
nginx-1.12.0 نسخه پایدار منتشر شده است، شامل ویژگی های جدید و رفع اشکال از شاخه اصلی 1.11.x شامل پشتیبانی از متغیرها و دیگر پیشرفت در ماژول جریان، رفع HTTP / 2، پشتیبانی از گواهینامه های مختلف SSL انواع مختلف، پشتیبانی از پیشرفت های پویا ماژول ها و موارد دیگر.
چه جدید در نسخه 1.8.1 وجود دارد:
امنیت: اشاره گر نامعتبر ممکن است در هنگام پردازش پاسخ سرور DNS اتفاق بیفتد، اگر & quot؛ تعیین کننده & quot؛ دستورالعمل استفاده شد، به مهاجم اجازه داده شد که قادر به ایجاد بسته های UDP از سرور DNS باشد تا خطای تقسیم بندی در یک فرایند کارگر (CVE-2016-0742) ایجاد شود.
امنیت: وضعیت استفاده پس از آزاد ممکن است در هنگام پردازش پاسخ CNAME رخ دهد، اگر & quot؛ حل و فصل & quot؛ دستورالعمل استفاده شده است، به مهاجم اجازه می دهد که بتواند باعث حل و فصل نام و نام خانوادگی شود و باعث ایجاد خطای تقسیم بندی در یک فرایند کارگری شود یا ممکن است تاثیر دیگر بالقوه (CVE-2016-0746) باشد.
امنیت: قطعنامه CNAME به اندازه کافی محدود نیست، اگر & quot؛ قطعنامه & quot؛ دستورالعمل استفاده شد، به مهاجم اجازه می دهد که قادر به حل و فصل نام خودسرانه باعث مصرف بیش از حد منابع در فرایندهای کارگر (CVE-2016-0747) شود.
رفع اشکال: & quot؛ proxy_protocol & quot؛ پارامتر & quot؛ گوش دادن & quot؛ دستورالعمل کار نمی کند اگر در اولین & quot؛ گوش دادن & quot؛ مشخص نشده است دستورالعمل برای سوکت گوش دادن
رفع اشکال: nginx ممکن است برخی از نسخه های قدیمی لینوکس شروع به کار کند؛ اشکال در تاریخ 1.7.11 ظاهر شد.
Bugfix: یک خطای تقسیم بندی ممکن است در فرآیند کارگر رخ دهد، اگر & quot؛ try_files & quot؛ و & quot؛ نام مستعار & quot؛ دستورالعمل ها در داخل یک مکان مشخص شده توسط یک عبارت منظم استفاده می شوند؛ اشکال در 1.7.1 ظاهر شد.
رفع اشکال: & quot؛ try_files & quot؛ دستورالعمل در داخل یک مکان توزیع داده شده توسط یک عبارت منظم، اشتباه کار کرد، اگر نام مستعار & quot؛ دستورالعمل در محل بیرونی استفاده شد.
Bugfix: & quot؛ header already sent & quot؛ هنگام استفاده از حافظه پنهان هشدارها ممکن است در سیاهههای مربوط ظاهر شوند؛ اشکال در 1.7.5 ظاهر شد.
Bugfix: گسل تقسیم بندی ممکن است در یک فرآیند کارگر رخ دهد اگر تنظیمات ssl_session_cache مختلف در سرورهای مجازی مختلف مورد استفاده قرار گیرد.
رفع اشکال: & quot؛ منقضی شده & quot؛ دستورالعمل ممکن است هنگام استفاده از متغیرها کار نکند.
رفع اشکال: اگر nginx با ngx_http_spdy_module ساخته شده بود، می توان از پروتکل SPDY استفاده کرد، حتی اگر & quot؛ spdy & quot؛ پارامتر & quot؛ گوش دادن & quot؛ دستورالعمل مشخص نشده است
چه جدید در نسخه 1.8.0 موجود است:
شامل بسیاری از ویژگی های جدید از شاخه اصلی 1.7.x می باشد - از جمله روش متعادل سازی بارگیری هش، تأیید اعتبار گواهی SSL، ، proxy_request_buffering و بیشتر.
چه جدید در نسخه 1.7.8 جدید است:
تغییر: در حال حاضر، اگر "nginx" پیش از این می داند که خطا در حافظه پنهان ذخیره نمی شود، به عنوان مثال، اگر & quot؛ اگر اصلاح شده از & quot ؛، & quot؛ اگر محدوده & quot ؛، و غیره، خطوط هدر درخواست مشتری ارسال به یک backend ، هنگام استفاده از proxy_cache_min_uses).
تغییر: در حال حاضر پس از proxy_cache_lock_timeout nginx یک درخواست را به یک باطن ارسال می کند با غیرفعال کردن ذخیره؛ دستورالعمل های جدید & quot؛ proxy_cache_lock_age & quot ؛، & quot؛ fastcgi_cache_lock_age & quot ؛، & quot؛ scgi_cache_lock_age & quot ؛، و & quot؛ uwsgi_cache_lock_age & quot؛ مشخص کنید زمانیکه پس از آن قفل منتشر خواهد شد و یک تلاش دیگر برای ذخیره یک پاسخ صورت می گیرد.
تغییر: & quot؛ log_format & quot؛ دستورالعمل اکنون می تواند فقط در سطح http استفاده شود.
ویژگی: & quot؛ proxy_ssl_certificate & quot ؛، & quot؛ proxy_ssl_certificate_key & quot؛؛ & quot؛ proxy_ssl_password_file & quot ؛، & quot؛ uwsgi_ssl_certificate & quot ؛، & quot؛ uwsgi_ssl_certificate_key & quot ؛، و & quot؛ uwsgi_ssl_password_file & quot؛ دستورالعمل ها با تشکر از Piotr Sikora.
ویژگی: اکنون می توانید با استفاده از & quot؛ X-Accel-Redirect & quot؛ به موقعیت نامگذاری شده تغییر دهید. با تشکر از Toshikuni Fukaya.
ویژگی: در حال حاضر & quot؛ tcp_nodelay & quot؛ دستورالعمل با اتصالات SPDY کار می کند.
ویژگی: دستورالعمل های جدید در اسکریپت های با کیفیت بالا نحو vim. با تشکر از پیتر وو.
رفع اشکال: nginx نادیده گرفتن & quot؛ s-maxage & quot؛ ارزش در "Cache-Control" & quot؛ خط فرمان پاسخ خط باند با تشکر از Piotr Sikora.
Bugfix: در ngx_http_spdy_module. با تشکر از Piotr Sikora.
رفع اشکال: در & quot؛ ssl_password_file & quot؛ دستورالعمل هنگام استفاده از OpenSSL 0.9.8zc، 1.0.0o، 1.0.1j.
Bugfix: alerts & quot؛ header already sent & quot؛ اگر در & quot؛ post_action & quot؛ دستورالعمل استفاده شد اشکال در 1.5.4 ظاهر شد.
Bugfix: alerts & quot؛ زنجیره خروجی http خالی است & quot؛ ممکن است در سیاههها ظاهر شود اگر & quot؛ postpone_output 0 & quot؛ دستورالعمل با SSI شامل استفاده می شود.
رفع اشکال: در & quot؛ proxy_cache_lock & quot؛ دستورالعمل با سوءاستفاده های SSI. با تشکر از Yichun ژانگ.
چه جدید در نسخه 1.6.2 است:
امنیت: امکان استفاده مجدد از جلسات SSL در زمینه های غیر مرتبط وجود داشت اگر یک کش مخفی مشترک SSL یا همان کلید بیت جلسه TLS برای چند & quot؛ سرور & quot؛ بلوک (CVE-2014-3616). با تشکر Antoine Delignat-Lavaud.
رفع اشکال: درخواست ها ممکن است قطع شود اگر resolver مورد استفاده قرار گیرد و یک سرور DNS یک پاسخ نادرست را دریافت کرد؛ اشکال در 1.5.8 ظاهر شد.
رفع اشکال: درخواست ها ممکن است قطع شود اگر استفاده از Resolver و زمان وقوع در طول یک درخواست DNS رخ داده باشد.
چه جدید در نسخه 1.6.1 وجود دارد:
امنیت: دستورات خط لوله پس از دستور STARTTLS در پروکسی SMTP (CVE-2014-3556) نادیده گرفته شد. اشکال در 1.5.6 ظاهر شد. با تشکر از کریس بولتون.
رفع اشکال: متغیر $ uri ممکن است در هنگام بازگشت خطاها با کد 400 حاوی مقدار زیادی زباله باشد. با تشکر از سرگئی بابروف.
رفع اشکال: در & quot؛ هیچ کدام & quot؛ پارامتر در & quot؛ smtp_auth & quot؛ دستورالعمل اشکال در 1.5.6 ظاهر شد. با تشکر از Svyatoslav Nikolsky.
چه جدید در نسخه 1.6.0 موجود است:
این نسخه پایدار شامل بسیاری از ویژگی های جدید از شاخه اصلی 1.5.x می شود - از جمله بهبود های مختلف SSL، پشتیبانی SPDY 3.1، اعتبارسنجی cache با درخواست های مشروط، ماژول درخواست auth و بیشتر.
چه جدید در نسخه 1.4.7 وجود دارد:
امنیت: سرریز بافر حافظه پشته ممکن است در فرآیند کارگر در هنگام پردازش درخواست ngx_http_spdy_module که به طور خاص ساخته شده است رخ دهد، اعدام (CVE-2014-0133). با تشکر از لوکاس مولاس، محقق در Programa STIC، Fundacion دکتر مانوئل Sadosky، بوینس آیرس، آرژانتین.
رفع اشکال: در & quot؛ fastcgi_next_upstream & quot؛ دستورالعمل با تشکر از لوکاس مولاس.
در نسخه 1.4.6 جدید است:
Bugfix: & quot؛ client_max_body_size & quot؛ دستورالعمل ممکن است هنگام خواندن یک بدن درخواست با استفاده از رمزگذاری انتقال فشرده کار نکند؛ اشکال در 1.3.9 ظاهر شد. با تشکر از لوکاس مولاس.
Bugfix: گسل تقسیم بندی ممکن است در فرآیند کارگر هنگام پروکسی اتصالات WebSocket رخ دهد.
چه جدید در نسخه 1.4.5 وجود دارد:
Bugfix: متغیر $ ssl_session_id شامل جلسه کامل به جای یک شناسه جلسه به صورت serialized. با تشکر از ایوان ریستیک
Bugfix: اتصالات سرویس گیرنده ممکن است بلافاصله بسته شود اگر مورد استفاده قبول شد؛ اشکال در 1.3.15 ظاهر شد.
Bugfix: هشدارها & quot؛ صفر اندازه buf در خروجی & quot؛ ممکن است در حالی که پروکسی در سیاهههای مربوط ظاهر می شود؛ اشکال در 1.3.9 ظاهر شد.
Bugfix: در صورت استفاده از ngx_http_spdy_module گسل تقسیم بندی ممکن است در فرآیند کارگر رخ دهد.
رفع اشکال: اتصالات پروتکل اینترنت WebSocket ممکن است پس از دست زدن در صورتی که انتخاب، نظرسنجی، یا / روش / روش های نظرسنجی استفاده می شود، قطع می شود.
رفع اشکال: ممکن است زمانی که خواندن درخواست مشتری کلاینت در یک اتصال SSL با استفاده از رمزگذاری منتقل شده انجام می شود ممکن است زمان وقوع رخ دهد.
Bugfix: نشت حافظه در nginx / ویندوز.
چه جدید در نسخه 1.4.4 منتشر شده است:
این نسخه خطا برای خطای درخواست تجزیه و تحلیل آسیب پذیری در nginx 0.8.41 - 1.5.6 شناسایی شده توسط ایوان فراریچی از گوگل تیم امنیتی (CVE-2013-4547).
چه جدید در نسخه 1.5.0 است:
امنیت: سرریز بافر بوسیله پشته ممکن است در فرآیند کارگر در هنگام دست زدن به یک درخواست خاص به کار گرفته شود، که به طور بالقوه می تواند به اجرای کد دلخواه (CVE-2013-2028) منجر شود؛ اشکال در 1.3.9 ظاهر شد. با تشکر از Greg MacManus، Labs Partners Labs.
نظر یافت نشد