Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описывается, как разместить приложение ASP.NET Core на сервере служб IIS.
В руководстве рассматриваются следующие действия:
- Установите пакет размещения .NET на Windows Server.
- создание сайта служб IIS в диспетчере служб IIS;
- развертывание приложения ASP.NET Core.
Prerequisites
- Пакет SDK для .NET , установленный на компьютере разработки.
- Сервер Windows Server с настроенной ролью Веб-сервер (IIS). Если сервер не настроен на размещение веб-сайтов с помощью IIS, следуйте инструкциям в разделе конфигурации IIS в разделе "Узел ASP.NET Ядро" в Windows со статьей IIS, а затем вернитесь к этому руководству.
Warning
Принципы настройки служб IIS и обеспечения безопасности веб-сайта не рассматриваются в этом руководстве. Перед размещением рабочих приложений в службах IIS ознакомьтесь с руководством по службам IIS в документации по Microsoft IIS и статьей о размещении ASP.NET Core с помощью служб IIS.
Важные сценарии размещения служб IIS, не рассматриваемые в этом руководстве:
- Создание куста реестра для защиты данных ASP.NET Core
- Настройка списка управления доступом (ACL) для пула приложений
- Чтобы сосредоточиться на принципах развертывания посредством служб IIS, в этом руководстве приложение развертывается без настройки протокола HTTPS в службах IIS. Дополнительные сведения о размещении приложения, включенного для протокола HTTPS, см. в разделах безопасности в разделе "Дополнительные ресурсы " этой статьи. Дополнительные рекомендации по размещению приложений ASP.NET Core приведены в статье Размещение ASP.NET Core в Windows со службами IIS.
Установка пакета размещения .NET
Установите пакет размещения .NET на сервере IIS. Пакет устанавливает среду выполнения .NET, библиотеку .NET и модуль ASP.NET Core. Модуль позволяет запускать приложения ASP.NET Core под управлением IIS.
Скачайте установщик по следующей ссылке:
Текущий установщик пакета размещения .NET (прямая загрузка)
Запустите установщик на сервере служб IIS.
Перезапустите сервер или выполните следующую
net stop was /y
командуnet start w3svc
в командной оболочке.
Создание сайта IIS
На сервере служб IIS создайте папку, в которой будут храниться файлы и папки опубликованного приложения. На следующем этапе путь к папке предоставляется IIS как физический путь к приложению. Дополнительные сведения о папке развертывания и структуре файлов приложения см. в статье Структура каталогов ASP.NET Core.
В окне диспетчера IIS на панели Подключения разверните узел сервера. Щелкните правой кнопкой мыши папку Сайты. В контекстном меню выберите пункт Добавить веб-сайт.
Укажите имя сайта и задайте физический путь к созданной папке развертывания приложения. Укажите конфигурацию привязки и создайте веб-сайт, нажав кнопку "ОК".
Warning
Не следует использовать привязки с подстановочными знаками (
http://*:80/
иhttp://+:80
) на верхнем уровне. Это может создать уязвимость и поставить ваше приложение под угрозу. Сюда относятся и строгие, и нестрогие подстановочные знаки. Вместо этого используйте имена узлов в явном виде. Привязки с подстановочными знаками на уровне дочерних доменов (например*.mysub.com
) не создают таких угроз безопасности, если вы полностью контролируете родительский домен (в отличие от варианта*.com
, создающего уязвимость). См. раздел RFC 9110: семантика HTTP (раздел 7.2. Дополнительные сведения см. в узле и :authority .Убедитесь, что удостоверение модели процесса имеет соответствующие разрешения.
Если удостоверение пула приложений по умолчанию (модели обработки>Identity) изменяется с
ApplicationPoolIdentity
на другое удостоверение, убедитесь, что новое удостоверение имеет необходимые разрешения для доступа к папке, базе данных и другим необходимым ресурсам приложения. Например, пулу приложений требуются права на чтение и запись в папках, в которых приложение считывает и записывает файлы.
Создание приложения ASP.NET Core
Создайте любое приложение на основе сервера ASP.NET Core.
Note
Это руководство основано на размещении серверного приложения ASP.NET Core с помощью IIS, включая Blazor Web App приложение. Для получения рекомендаций по размещению и развертыванию Blazor WebAssembly с IIS, см. статью Хостинг и развертывание ASP.NET Core с IIS.
Публикация и развертывание приложения
Публикация приложения означает создание скомпилированного приложения, которое можно разместить на сервере. Развертывание приложения означает перемещение опубликованного приложения в систему размещения. Шаг публикации обрабатывается пакетом SDK для .NET, а шаг развертывания может обрабатываться различными подходами. В этом руководстве реализован подход к развертыванию папок , где:
- Приложение публикуется в папке.
- Содержимое папки перемещается в папку сайта IIS ( физический путь к сайту в диспетчере IIS).
- Щелкните проект правой кнопкой мыши в обозревателе решений и выберите "Опубликовать".
- В диалоговом оке Выберите целевой объект публикации выберите вариант публикации Папка.
- Укажите путь к папке или общей папке.
- Если вы создали для сайта IIS папку, доступную на компьютере разработки в качестве сетевой папки, укажите путь к общей папке. Для публикации в общей папке текущий пользователь должен иметь доступ на запись.
- Если вы не можете развернуть непосредственно в папке сайта IIS на сервере IIS, опубликуйте папку на съемных носителях и физически переместите опубликованное приложение в папку сайта IIS на сервере, который является физическим путем сайта в диспетчере IIS. Переместите содержимое
bin/Release/{TARGET FRAMEWORK}/publish
папки в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS.
- Нажмите кнопку Опубликовать.
Открытие веб-сайта в браузере
Приложение будет доступно в браузере после получения первого запроса. Выполните запрос к приложению в привязке конечной точки, созданной в диспетчере служб IIS для сайта.
Next steps
Из этого руководства вы узнали, как:
- Установите пакет размещения .NET на Windows Server.
- создание сайта служб IIS в диспетчере служб IIS;
- развертывание приложения ASP.NET Core.
Дополнительные сведения о размещении приложений ASP.NET Core в службах IIS см. в обзорной статье о службах IIS:
Additional resources
Статьи в наборе документации по ASP.NET Core
- модуль ASP.NET Core (ANCM) для IIS
- структура каталогов ASP.NET Core
- Устранение неполадок ASP.NET Core в службе приложение Azure и IIS
- Принудительное применение HTTPS в ASP.NET Core
- WebSockets в IIS
Статьи, относящиеся к развертыванию приложений ASP.NET Core
- Публикация приложения ASP.NET Core в Azure с помощью Visual Studio
- Публикация приложения ASP.NET Core в Azure с помощью Visual Studio Code
- Профили публикации Visual Studio (.pubxml) для развертывания приложений ASP.NET Core
Статьи о конфигурации HTTPS служб IIS
Статьи о службах IIS и Windows Server
Ресурсы развертывания для администраторов IIS
- IIS documentation
- Начало работы с диспетчером IIS в IIS
- развертывание приложений .NET
- модуль ASP.NET Core (ANCM) для IIS
- структура каталогов ASP.NET Core
- Модули IIS с ASP.NET Core
- Устранение неполадок ASP.NET Core в службе приложение Azure и IIS
- Устранение распространенных неполадок в Службе приложений Azure и службах IIS с помощью ASP.NET Core
- Липкие сеансы с маршрутизацией запросов приложений
ASP.NET Core