📘 План обучения IIS
1. Введение в IIS
-
Что такое IIS, его роль в Windows Server.
-
Версии IIS (IIS 7, 8, 10) и их отличия.
-
Установка IIS на Windows 10/11 и Windows Server (через Server Manager, PowerShell, DISM).
-
Структура: Application Pools, Sites, Virtual Directories.
2. Базовые навыки
-
Создание и настройка первого сайта.
-
Работа с Application Pool (режимы, .NET CLR, Integrated vs Classic).
-
Управление сайтами: старт, стоп, перезапуск.
-
Настройка статического сайта (HTML, CSS, JS).
-
Подключение ASP.NET / PHP к IIS.
3. Работа с безопасностью
-
Пользователи и группы в IIS.
-
Аутентификация: Anonymous, Basic, Windows Authentication.
-
Авторизация (разрешения на уровне сайта, папки, файлов).
-
SSL/TLS: установка HTTPS-сертификата, настройка привязок.
4. Управление контентом и маршрутизацией
-
Виртуальные каталоги.
-
Обработка MIME-типов.
-
Настройка URL Rewrite (редиректы, ЧПУ, правила для SEO).
-
Поддержка reverse proxy (через ARR — Application Request Routing).
5. Оптимизация и производительность
-
Настройки кэширования (Static и Dynamic Content Compression).
-
Output caching.
-
Управление ресурсами пула приложений (лимиты памяти, переработка).
-
Логирование и мониторинг производительности.
6. Безопасность и защита
-
Защита от DDoS и ограничение подключений.
-
Настройка IP Restrictions.
-
HTTPS + редирект с HTTP.
-
Установка Let’s Encrypt сертификатов на IIS.
7. Автоматизация и администрирование
-
Работа с appcmd.exe (консоль управления IIS).
-
Автоматизация через PowerShell.
-
Резервное копирование и восстановление конфигурации.
-
CI/CD: публикация приложений (Web Deploy, FTP, Git).
8. Продвинутые темы
-
Работа с Load Balancing и Web Farms.
-
Настройка ARR + NLB (Network Load Balancing).
-
Интеграция с SQL Server, Redis, внешними API.
-
Контейнеризация IIS (Docker + Windows Containers).
-
Подключение IIS к Active Directory.
9. Практика (мини-проекты)
- Развернуть сайт на HTML/CSS/JS.
- Запустить ASP.NET приложение.
- Настроить PHP + MySQL сайт на IIS.
- Сделать HTTPS с Let’s Encrypt.
- Реализовать правило редиректа (например,
http → https
). - Автоматизировать деплой сайта через PowerShell.