نماد سایت بلاگ ایران هاست

آشنایی با امکانات جدید  IIS10

نسخه جدید IIS همراه با ویندوز ۱۰ عرضه شده،و بر خلاف روند صعودی نامگذاری ، از نسخه ۸  به نسخه ۱۰ جهش داشت. در این مقاله به بررسی امکانات و ویژگی های جدید IIS 10 خواهیم پرداخت.

پشتیبانی از HTTP/2

در ویندوز سرور ۲۰۱۶ و نسخه فعلی ویندوز ۱۰ ، HTTP2 بصورت پیش فرض فعال شده است، لذا نیازی به فعال سازی یا اعمال تغییرات در رجیستری ندارد.

همانطور که می دانید HTTP2 جایگزینی برای این است که HTTP چگونه بر روی سیم تعریف می شود. این بازنویسی پروتکل و یا روش های  HTTP  نیست، چرا که کد ها و مفهوم آن مشابه هستند. HTTP2 به منظور بهبود این پروتکل معرفی شده است. از جمله تغییراتی که در آن اعمال شده این است که HTTP2 باینری است بر خلاف HTTP که بر اساس TEXT است.

برای اینکه دریابید که آیا در حال حاضر شما از HTTP2 استفاده می کنید یا خیر، وارد وب سایتی که در IIS 10 راه اندازی شده است شوید،با اجرای دستور زیر در کروم می توانید این مورد را چک کنید :

 chrome://net-internals/#spdy

اگر از فایرفاکس استفاده می کنید، با استفاده از کلید F12 وارد کنسول شوید،در بخش HEADERS می توانید نسخه HTTP را مشاهده کنید.

به شما پیشنهاد می شود مقاله ما را برای کسب اطلاعات بیشتر در حوزه http2 چیست مطالعه نمایید.

پشتیبانی از  Wild Card Host Header

این امکان خیلی خوبی است و به شما اجازه می دهد به HOST HEADER  یک وب سایت مقدار “<domain>.*” را بدهید، این بدین معنی است که نیازی نیست شما برای هر زیر دامنه یک binding جدا ایجاد کنید. حتی شما می توانید یک وب سرور را به یک دامنه اختصاص دهید، با این کار تمامی درخواست های زیر دامنه مربوطه به دامنه مذکور معتبر می شوند.

ماژول  IISAdministration PowerShell

ماژول WebAdministration برای مدیریت IIS از طریق PowerShell در IIS7.5 معرفی شد. با این حال این ویژگی از مشکلات زیادی رنج می برد، ضمن اینکه در حقیقت مدیریت آن زیاد مبتنی بر powershell و فرامین آن نبود. در IIS 10 ماژول دیگری با نام  IISAdministration جایگزین آن شد. با استفاده از این ویژگی و فرامین powershell می توانید پروسه مدیریت وب سرور را با استفاده از اسکریپت ها در زمان کمتری انجام دهیسد.

متغیر های محیطی

در IIS 10 شما به راحتی می توانید یک مجموعه سفارشی از متغیر های محیطی را از یک Application Pool مشخص کنید، که برای هر پروسه کاری که از آن ایجاد شده است، تعریف خواهد شد. این ویژگی در UI پشتیبانی نمی شود اما شما می توانید به راحتی با استفاده از Configuration Editor یا با استفاده از AppCmd آنها را اصافه کنید،به عنوان مثال دستور ذیل یک متغیر محیطی را به application pool، دات نت ۴.۵ با نام MyVariable اضافه می کند.

> appcmd set apppool “.NET v4.5” /+environmentVariables.add[@start,name=’MYVARIABLE’,value=’C:\temp’]

این ویژگی بسیار مفیدی است، خصوصا برای محیط هایی که میزبانی پیچیده ای با application pool های زیادی دارند و مخصوصا زمانی که نمی خواهید متغیر ها را در سطح ماشین تعریف کنید.

 تغییر مقادیر Log Event On Recycle 

تا IIS 8.5 مشخصه صفت خاصیت logEventOnRecycle یک application pool دارای مقدار پیش فرض Time,Memory,Private Memory بوده است. این بدین معنی است که زمانی که یک application pool به هر دلیلی recycle شود سرویس (WAS (Windows Process Activation Services هیچ لاگی برای رسیدگی ایجاد نمی کرد تا شما بتوانید گزارش آن را در System Event Log ببینید.

در IIS 10 مقدار پیش فرض logEventOnRecycle به مقادیر Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory تغییر پیدا کرده است. که در عمل بسیار مفید تر ظاهر شده است.

پشتیبانی از  Permanent Redirects

وقتی از ویژگی HTTP Redirection استفاده می کنید، حالا می توانید به IIS بگویید با کد وضعیت ۳۰۸ Permanent Redirect  نیز پاسخ دهد. در حقیقت این کد در IIS 10 اضافه شده است.

حذف  Server Header

یک ویژگی که ابزار UrlScan قدیمی آن را ارایه می کرد حذف نسخه سرور ISS از هدر بود که  از IIS 7 به بعد امکان آن برداشته شده بود. این ویژگی در IIS 10 با نام removeServerHeader مجددا اضافه شده است. این گزینه هنوز در کنسول مدیریتی قرار داده نشده اما با استفاده از AppCmd می توانید آن را فعال کنید. :

> appcmd.exe set config “Default Web Site” /section:system.webServer/security/requestFiltering /removeServerHeader:True

انجام trace در FREB  

در IIS 7 یک ویژپی بسیار عالی با نام  (Failed Request Tracing (FREB معرفی شد. مشکل FREB در اینجا بود که اگر شما رول هایی داشتید که برای جمع آوری trace ها بر اساس زمان اجرا پیکر بندی شده بودند ، فایل trace درست زمانی که محدودیت زمانی به پایان می رسید شروع به نوشتن می کرد . این مطلب بدین معنی است که این پروسه معمولا با یک trace نیمه تمام پایان می یافت و تمامی event ها را شامل نمی شد تا زمانی که در خواست کامل می شد.

در IIS 10 امکان جدیدی با نام traceAllAfterTimeout وجود دارد که با فعال سازی آن، IIS قبل از اینکه فایل trace را بنویسد تا زمانی که درخواست واقعا کامل شود  صبر می کند. فعال سازی این گزینه در رابطه کاربری ممکن نیست اما شما هنوز هم می توانید با استفاده از فرامین آ« را فعال کنید. فرمان زیر یک رول را ایجاد و گزینه مذکور را فعال می کند :

>appcmd configure trace “Default Web Site/” /enable /path:*.aspx /timeTaken:00:10:00

>appcmd.exe set config “Default Web Site” -section:system.webServer/tracing/traceFailedRequests  / [path=’*.aspx’].failureDefinitions.traceAllAfterTimeout:”True”

در کل می تواند گفت که ظهور تمامی این امکانات در IIS عالی هستند. با عرضه رسمی ویندوز سرور۲۰۱۶  خواهیم دید که چه اصلاحاتی بر روی آن اعمال خواهد شد.

خروج از نسخه موبایل