Поделиться через


Публикация приложения ASP.NET Core в службах IIS

В этом руководстве описывается, как разместить приложение 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, не рассматриваемые в этом руководстве:

Установка пакета размещения .NET

Установите пакет размещения .NET на сервере IIS. Пакет устанавливает среду выполнения .NET, библиотеку .NET и модуль ASP.NET Core. Модуль позволяет запускать приложения ASP.NET Core под управлением IIS.

Скачайте установщик по следующей ссылке:

Текущий установщик пакета размещения .NET (прямая загрузка)

  1. Запустите установщик на сервере служб IIS.

  2. Перезапустите сервер или выполните следующую net stop was /y команду net start w3svc в командной оболочке.

Создание сайта IIS

  1. На сервере служб IIS создайте папку, в которой будут храниться файлы и папки опубликованного приложения. На следующем этапе путь к папке предоставляется IIS как физический путь к приложению. Дополнительные сведения о папке развертывания и структуре файлов приложения см. в статье Структура каталогов ASP.NET Core.

  2. В окне диспетчера IIS на панели Подключения разверните узел сервера. Щелкните правой кнопкой мыши папку Сайты. В контекстном меню выберите пункт Добавить веб-сайт.

  3. Укажите имя сайта и задайте физический путь к созданной папке развертывания приложения. Укажите конфигурацию привязки и создайте веб-сайт, нажав кнопку "ОК".

    Warning

    Не следует использовать привязки с подстановочными знаками (http://*:80/ и http://+:80) на верхнем уровне. Это может создать уязвимость и поставить ваше приложение под угрозу. Сюда относятся и строгие, и нестрогие подстановочные знаки. Вместо этого используйте имена узлов в явном виде. Привязки с подстановочными знаками на уровне дочерних доменов (например *.mysub.com) не создают таких угроз безопасности, если вы полностью контролируете родительский домен (в отличие от варианта *.com, создающего уязвимость). См. раздел RFC 9110: семантика HTTP (раздел 7.2. Дополнительные сведения см. в узле и :authority .

  4. Убедитесь, что удостоверение модели процесса имеет соответствующие разрешения.

    Если удостоверение пула приложений по умолчанию (модели обработки>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).
  1. Щелкните проект правой кнопкой мыши в обозревателе решений и выберите "Опубликовать".
  2. В диалоговом оке Выберите целевой объект публикации выберите вариант публикации Папка.
  3. Укажите путь к папке или общей папке.
    • Если вы создали для сайта IIS папку, доступную на компьютере разработки в качестве сетевой папки, укажите путь к общей папке. Для публикации в общей папке текущий пользователь должен иметь доступ на запись.
    • Если вы не можете развернуть непосредственно в папке сайта IIS на сервере IIS, опубликуйте папку на съемных носителях и физически переместите опубликованное приложение в папку сайта IIS на сервере, который является физическим путем сайта в диспетчере IIS. Переместите содержимое bin/Release/{TARGET FRAMEWORK}/publish папки в папку сайта IIS на сервере, которая является физическим путем сайта в диспетчере IIS.
  4. Нажмите кнопку Опубликовать.

Открытие веб-сайта в браузере

Приложение будет доступно в браузере после получения первого запроса. Выполните запрос к приложению в привязке конечной точки, созданной в диспетчере служб IIS для сайта.

Next steps

Из этого руководства вы узнали, как:

  • Установите пакет размещения .NET на Windows Server.
  • создание сайта служб IIS в диспетчере служб IIS;
  • развертывание приложения ASP.NET Core.

Дополнительные сведения о размещении приложений ASP.NET Core в службах IIS см. в обзорной статье о службах IIS:

Additional resources

Статьи в наборе документации по ASP.NET Core

Статьи, относящиеся к развертыванию приложений ASP.NET Core

Статьи о конфигурации HTTPS служб IIS

Статьи о службах IIS и Windows Server

Ресурсы развертывания для администраторов IIS