هر آنچه که باید درباره وب سرور IIS بدانید!
خدمات اطلاعات اینترنتی (IIS) یک وب سرور با هدف کلی و قابل انعطاف از مایکروسافت است که برای ارائه صفحات یا فایل های HTML درخواست شده، روی سیستم های ویندوز اجرا می شود.
یک وب سرور IIS درخواست های رایانه های از راه دور را می پذیرد و پاسخ مناسب را برمی گرداند.
این قابلیت اساسی به وب سرورها اجازه می دهد تا اطلاعات را از طریق شبکه های محلی (LAN)، مانند اینترانت شرکت ها و شبکه های گسترده (WAN) مانند اینترنت، به اشتراک بگذارند و تحویل دهند.
یک وب سرور می تواند اطلاعات را به چندین شکل، مانند صفحات وب استاتیک کد شده در HTML، در اختیار کاربران قرار دهد.
از طریق تبادل فایل به عنوان بارگیری و بارگذاری و اسناد متنی، فایل های تصویری و موارد دیگر.
وب سرورها پرتال ها را ارائه می دهند.
وب سرورهای مدرن می توانند عملکرد بسیار بیشتری را برای یک تجارت و کاربران آن فراهم کنند.
وب سرورها اغلب به عنوان پرتال برای برنامه های پیشرفته، بسیار تعاملی و مبتنی بر وب استفاده می شوند که واسطه های شرکت و برنامه های back-end را برای ایجاد سیستم های کلاس سازمانی گره می زنند.
به عنوان مثال خدمات وب آمازون به کاربران اجازه می دهد تا منابع ابری عمومی را از طریق پرتال مبتنی بر وب مدیریت کنند.
در همین حال سرویس های رسانه ای جریان مانند Spotify برای موسیقی و Netflix برای فیلم ها، محتوای جریان واقعی را از طریق وب سرورها ارائه می دهند.
نحوه کار IIS
IIS از طریق انواع مختلف زبان و پروتکل های استاندارد کار می کند.
HTML برای ایجاد عناصری از جمله متن، دکمه ها، قرار دادن تصویر، تعامل مستقیم / رفتارها و پیوندها استفاده می شود.
پروتکل انتقال (Hypertext (HTTP پروتکل اصلی ارتباطی است که برای تبادل اطلاعات بین وب سرورها و کاربران استفاده می شود.
(HTTPS – HTTP over Secure Sockets Layer (SSL با استفاده از Transport Layer Security یا SSL برای رمزگذاری ارتباطات برای امنیت داده های اضافه شده.
پروتکل انتقال فایل (FTP) یا نوع مطمئن آن FTPS، می تواند فایل ها را انتقال دهد.
پروتکل های پشتیبانی شده اضافی شامل پروتکل انتقال پست الکترونیکی ساده (SMTP)، برای ارسال و دریافت ایمیل و پروتکل انتقال اخبار شبکه، برای تهیه مقاله در Usenet است.
IIS با ASP.NET Core کار می کند.
چارچوب ASP.NET Core جدید ترین نسل از صفحه فعال سرور (ASP)، موتور اسکریپت سمت سرور است که صفحات وب تعاملی ایجاد می کند.
درخواستی از وب به سرور IIS وارد می شود که درخواست را به برنامه ASP.NET Core ارسال می کند که درخواست را پردازش می کند و پاسخ آن را به سرور IIS و مشتری که مبدأ درخواست است ارسال می کند.
نمونه هایی از برنامه های نوشته شده در ASP.NET Core شامل سیستم عامل های وبلاگ و سیستم های مدیریت محتوا (CMS) است.
توسعه دهندگان می توانند وب سایت های IIS را با تعدادی ابزار از جمله WebDAV تولید کنند که می توانند محتوای وب را ایجاد و منتشر کنند.
توسعه دهندگان همچنین می توانند از ابزارهای توسعه یکپارچه مانند Microsoft Visual Studio استفاده کنند.
نسخه های Internet Information Services
Internet Information Services همراه با Microsoft Windows تکامل یافته است.
نسخه های اولیه IIS با Windows NT وارد شدند.
IIS 1.0 با Windows NT 3.51 ظاهر شد و از طریق IIS 4.0 با Windows NT 4.0 تکامل یافت.
IIS 5.0 با ویندوز 2000 ارسال شد.
مایکروسافت IIS 6.0 را به ویندوز سرور 2003 اضافه کرد.
IIS 7.0 طراحی مجدد بزرگی را با Windows Server 2008 ارائه داد (IIS 7.5 در ویندوز سرور 2008 R2 است).
IIS 8.0 همراه با Windows Server 2012) Windows Server 2012 R2 از IIS 8.5 استفاده می کند).
و در نهایت IIS 10 با ویندوز سرور 2016 و ویندوز 10 وارد بازار شد.
با هر تکرار IIS مایکروسافت ویژگی های جدیدی را اضافه کرده و قابلیت های موجود را به روز کرده است.
به عنوان مثال IIS 3.0 ASP را برای اسکریپت نویسی پویا اضافه کرد.
IIS 6.0 پشتیبانی از IPv6 را افزایش داده و امنیت و قابلیت اطمینان را بهبود بخشیده است و IIS 8.0 مقیاس بندی چند هسته ای بر روی سخت افزار دسترسی به حافظه غیر یکنواخت، پشتیبانی متمرکز از گواهی SSL و نشانه نام سرور را به ارمغان آورد.
امکانات در Internet Information Services 10
IIS 10 همچنین تعدادی از ویژگی ها و قابلیت های جدید را اضافه می کند.
IIS 10 پشتیبانی از پروتکل HTTP / 2 را ارائه می دهد تا منابع کارآمدتری را تجربه کند و تأخیر کمتری در مقایسه با HTTP 1.1 داشته باشد.
IIS 10 بر روی حداقل مدل استقرار سرور Nano Server تحت ویندوز سرور 2016 کار می کند و می تواند بارهای کاری ASP.NET Core ،Apache Tomcat و PHP را بر روی IIS روی Nano Server اجرا کند.
IIS 10 در یک کانتینر و ماشین مجازی کار می کند، بنابراین توسعه دهندگان و سرپرستان از انعطاف پذیری بیشتری در گزینه های استقرار و همچنین تراکم مناسب برای استفاده در طیف گسترده ای از برنامه های وب برخوردار هستند.
وب سرور Nginx نیز یکی از وب سرورهای مطرح می باشد که توسط بسیاری از شرکت های بزرگ مورد استفاده قرار گرفته است. برای دریافت اطلاعات بیشتر در خصوص این وب سرور می توانید به مطلب “همه چیز درباره وب سرور Nginx” مراجعه کنید.
IIS Express برای آزمایش
مایکروسافت یک نسخه از Internet Information Services موسوم به IIS Express را برای توسعه دهندگان برای تست وب سایت ها فراهم می کند.
IIS Express تمام قابلیت های اصلی وب سرور کامل Internet Information Services را ارائه می دهد، اما اجازه می دهد تا بسیاری از کارها بدون امتیازات اداری انجام شود.
امنیت
برای اطمینان از ایمن بودن وب سایت، سازمان ها باید اقدامات امنیتی را برای محافظت از وب سرور در برابر نقض های امنیتی انجام دهند.
شرکت ها می توانند از ویژگی های داخلی IIS برای امنیت IIS استفاده کنند.
برخی از راه های بالا بردن امنیت Windows IIS عبارتند از:
- اطمینان حاصل کنید که سیستم عامل ویندوز با همه تکه های امنیتی به روز شده است.
- برای کاهش حملات احتمالی هر ویژگی IIS را که استفاده نمی شود غیرفعال کنید.
- برای اطمینان از اینکه سرور فقط بسته های معتبر را دریافت می کند از فایروال استفاده کنید.
- کنترل کنید کدام آدرس های اینترنتی و دامنه ها می توانند به وب سرور دسترسی پیدا کنند.
- از مجوز URL استفاده کنید تا قوانینی را برای درخواست های خاص، مانند برخورد با URL های خاص اعمال کند. یک شرکت می تواند از مجوز URL استفاده کند تا فقط به برخی از کاربران اجازه دهد صفحات درخواست شده را مشاهده کنند.
- برای مشاهده بازدید کنندگان از دسترسی به وب سرور، از ورود به سیستم استفاده کنید.
- صفحه خطا را پیکربندی کنید تا فقط اطلاعات مربوط به یک مسئله را نمایش دهید. مطمئن شوید که صفحات خطا اطلاعات زیادی از قبیل نام کاربری، گذرواژهها، آدرس IP سرور یا اطلاعاتی را که هکرها برای سوءاستفاده از وب سرور استفاده نمی کنند نشان نمی دهند.
مراحل نصب و تنظیمات IIS
در زیر نحوه نصب IIS بر روی سروری که دارای Microsoft Windows Server 2012 R2 ،Microsoft Windows Server 2016 و Microsoft Windows Server 2019 است، آورده شده است.
در زیر مراحل نصب Internet Information Services با استفاده از مدیر سرور است:
- کلید [Windows] را فشار داده و Server Manager را انتخاب کنید.
- در داشبورد مدیریت سرور، روی manage > add roles and features کلیک کنید.
- روی نوع installation کلیک کنید.
- گزینه نصب role-based or feature-based را انتخاب کنید و Next را بزنید.
- سروری را انتخاب کنید که IIS روی آن نصب خواهد شد و Next را بزنید.
- نقش وب سرور (IIS) را فعال کنید.
- برای افزودن کنسول مدیریت IIS روی Add Features کلیک کنید.
- روی Next کلیک کنید: پنجره SelectFeatures باز خواهد شد.
- Next را کلیک کنید: پنجره وب سرور نقش (IIS) باز خواهد شد.
- Next را کلیک کنید: پنجره Select Role Services باز خواهد شد.
- خدمات نقش مورد نیاز را انتخاب کرده و روی Next کلیک کنید.
- برای نصب نقش ها، خدمات و ویژگی های انتخابی، روی نصب کلیک کنید.
- برای تکمیل نصب، روی Close کلیک کنید.
در زیر مراحل نصب Internet Information Services در PowerShell ذکر شده است:
- در کادر جستجو PowerShell را تایپ کرده و سپس بر روی Windows PowerShell کلیک کنید.
- در ویندوز PowerShell دستور زیر را تایپ کنید و سپس ENTER را فشار دهید:
- Install-WindowsFeature -name Web server -IncludeManagementTools
در زیر گام هایی برای چگونگی تنظیمات IIS با استفاده از مدیر سرور وجود دارد:
- به مدیر سرور برگردید و از فهرست ابزارها گزینه (Manager Information Services Internet (IIS را انتخاب کنید.
- روی افزودن وب سایت کلیک کنید.
- حداقل نام سایت و مسیر را مشخص کنید. OK را کلیک کنید.
- سایت اول آماده دسترسی است.
برای تغییر تنظیمات اصلی وب سایت مراحل زر را دنبال کنید:
- به عنوان مدیر وارد وب سرور شوید.
- روی Start (شروع) کلیک کنید، تنظیمات (point) و سپس Control Panel را انتخاب کنید.
- بر روی Administrative Tools، دو بار کلیک کرده و سپس بر روی Manager Services Internet دو بار کلیک کنید.
- برای پیکربندی در سمت راست صفحه، وب سایت را کلیک کنید و سپس بر روی Properties کلیک کنید.
- روی زبانه وب سایت کلیک کنید.
- توضیحات مربوط به وب سایت را در کادر توضیحات تایپ کنید.
- آدرس پروتکل اینترنت (IP) را برای استفاده در وب سایت تایپ کنید یا تنظیم پیش فرض (All (Unassached را ترک کنید.
- درگاه مناسب پروتکل کنترل انتقال را تغییر دهید.
- روی برگه Home Directory کلیک کنید.
- برای استفاده از یک پوشه در رایانه محلی، روی یک فهرست در این رایانه کلیک کنید و سپس بر روی Browse کلیک کنید تا پوشه مورد نظر خود را پیدا کنید.
- برای استفاده از پوشه ای که از یک رایانه دیگر در شبکه به اشتراک گذاشته شده است، روی اشتراک گذاری واقع در رایانه دیگر کلیک کنید و سپس network path را تایپ کنید یا برای انتخاب پوشه مشترک بر روی Browse کلیک کنید.
- برای دسترسی به خواندن پوشه (ضروری) روی Read کلیک کنید.
- OK را کلیک کنید تا خصوصیات وب سایت را بپذیرید.
IIS و Apache
تفاوت بین IIS و Apache شامل موارد زیر است:
- Internet Information Services وابسته به ویندوز است، در حالی که Apache یک منبع آزاد است.
- در حالی که IIS فقط در ویندوز اجرا می شود، Apache می تواند تقریباً در هر سیستم عاملی از جمله macOS ،UNIX و Linux اجرا شود (این بهترین گزینه برای لینوکس است).
- IIS با سایر پیشنهادات مایکروسافت مانند .NET و زبان برنامه نویسی ASPX ادغام می شود.
- IIS یک میز راهنما برای مسئولیت رسیدگی به بیشتر مشکلات است در حالیکه Apache از جامعه کاربر پشتیبانی می کند.
- ویژگی های امنیتی IIS آن را به گزینه ای امن تر از آپاچی تبدیل می کند.
- فناوری اساسی IIS با رابط های وب استاندارد در سراسر جهان سازگار است.