Publikowanie aplikacji ASP.NET Core w usługach IIS

W tym samouczku pokazano, jak hostować aplikację ASP.NET Core na serwerze usług IIS.

W tym samouczku omówiono następujące tematy:

  • Zainstaluj pakiet hostingu .NET Core w systemie Windows Server.
  • Utwórz witrynę usług IIS w Menedżerze usług IIS.
  • Wdrażanie aplikacji ASP.NET Core.

Wymagania wstępne

  • Zestaw .NET Core SDK zainstalowany na maszynie dewelopera.
  • System Windows Server skonfigurowany z rolą serwera sieci Web (IIS). Jeśli serwer nie jest skonfigurowany do hostowania witryn internetowych z usługami IIS, postępuj zgodnie ze wskazówkami w sekcji Konfiguracja usług IIS w artykule Host ASP.NET Core w systemie Windows z usługami IIS, a następnie wróć do tego samouczka.

Ostrzeżenie

Konfiguracja usług IIS i zabezpieczenia witryny internetowej obejmują pojęcia, które nie są objęte tym samouczkiem. Zapoznaj się ze wskazówkami dotyczącymi usług IIS w dokumentacji usług Microsoft IIS i artykułem ASP.NET Core dotyczącym hostowania z usługami IIS przed hostem aplikacji produkcyjnych w usługach IIS.

Ważne scenariusze hostowania usług IIS, które nie zostały uwzględnione w tym samouczku, obejmują:

Instalowanie pakietu hostingu platformy .NET Core

Zainstaluj pakiet hostingu platformy .NET Core na serwerze usług IIS. Pakiet instaluje środowisko uruchomieniowe platformy .NET Core, bibliotekę .NET Core i moduł ASP.NET Core Module. Moduł umożliwia uruchamianie aplikacji ASP.NET Core za usługami IIS.

Pobierz instalatora za pomocą następującego linku:

Bieżący instalator pakietu hostingowego platformy .NET Core (pobieranie bezpośrednie)

  1. Uruchom instalatora na serwerze usług IIS.

  2. Uruchom ponownie serwer lub wykonaj net stop was /y polecenie net start w3svc w powłoce poleceń.

Tworzenie witryny usług IIS

  1. Na serwerze usług IIS utwórz folder zawierający opublikowane foldery i pliki aplikacji. W następnym kroku ścieżka folderu jest udostępniana usługom IIS jako ścieżka fizyczna do aplikacji. Aby uzyskać więcej informacji na temat folderu wdrażania i układu pliku aplikacji, zobacz Struktura katalogów ASP.NET Core.

  2. W Menedżerze usług IIS otwórz węzeł serwera w panelu Połączenia. Kliknij prawym przyciskiem myszy folder Witryny. Wybierz pozycję Dodaj witrynę internetową z menu kontekstowego.

  3. Podaj nazwę witryny i ustaw ścieżkę fizyczną do utworzonego folderu wdrożenia aplikacji. Podaj konfigurację powiązania i utwórz witrynę internetową, wybierając przycisk OK.

    Ostrzeżenie

    Nie należy używać powiązań z symbolami wieloznacznymi najwyższego poziomu (http://*:80/ i http://+:80). Powiązania z symbolami wieloznacznymi najwyższego poziomu mogą otworzyć aplikację na luki w zabezpieczeniach. Dotyczy to zarówno silnych, jak i słabych symboli wieloznacznych. Użyj raczej jawnych nazw hostów, a nie symboli wieloznacznych. Powiązanie wieloznaczne poddomeny (na przykład *.mysub.com) nie niesie ze sobą takiego ryzyka dla zabezpieczeń, jeśli kontrolujesz całą domenę nadrzędną (w przeciwieństwie do *.com, która jest podatna na zagrożenia). Zobacz RFC 9110: Semantyka HTTP (sekcja 7.2). Aby uzyskać więcej informacji, zobacz Host i :authority .

  4. Upewnij się, że tożsamość modelu procesu ma odpowiednie uprawnienia.

    Jeśli domyślna tożsamość puli aplikacji (modelIdentity> przetwarzania) zostanie zmieniona z ApplicationPoolIdentity na inną tożsamość, sprawdź, czy nowa tożsamość ma wymagane uprawnienia dostępu do folderu, bazy danych i innych wymaganych zasobów aplikacji. Na przykład pula aplikacji wymaga dostępu do odczytu i zapisu do folderów, w których aplikacja odczytuje i zapisuje pliki.

Tworzenie aplikacji ASP.NET Core Razor Pages

Postępuj zgodnie z samouczkiem Rozpoczynanie pracy z programem ASP.NET Core , aby utworzyć aplikację Razor Pages.

Publikowanie i wdrażanie aplikacji

Publikowanie aplikacji oznacza utworzenie skompilowanej aplikacji, która może być hostowana przez serwer. Wdrażanie aplikacji oznacza przeniesienie opublikowanej aplikacji do systemu hostingu. Krok publikowania jest obsługiwany przez zestaw .NET Core SDK, podczas gdy krok wdrażania może być obsługiwany przez różne podejścia. W tym samouczku przedstawiono podejście wdrażania folderów , w którym:

  • Aplikacja jest publikowana w folderze.
  • Zawartość folderu jest przenoszona do folderu witryny usług IIS ( ścieżka fizyczna do lokacji w Menedżerze usług IIS).
  1. Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz pozycję Opublikuj.
  2. W oknie dialogowym Wybieranie miejsca docelowego publikowania wybierz opcję Publikowanie folderu.
  3. Ustaw ścieżkę Folderu lub udziału plików.
    • Jeśli utworzono folder dla lokacji usług IIS, która jest dostępna na maszynie deweloperskiej jako udział sieciowy, podaj ścieżkę do udziału. Bieżący użytkownik musi mieć dostęp do zapisu, aby opublikować go w udziale.
    • Jeśli nie możesz wdrożyć bezpośrednio w folderze lokacji usług IIS na serwerze usług IIS, opublikuj w folderze na nośniku wymiennym i fizycznie przenieś opublikowaną aplikację do folderu lokacji usług IIS na serwerze, który jest ścieżką fizyczną lokacji w Menedżerze usług IIS. Przenieś zawartość bin/Release/{TARGET FRAMEWORK}/publish folderu do folderu lokacji usług IIS na serwerze, który jest ścieżką fizyczną lokacji w Menedżerze usług IIS.
  4. Wybierz przycisk Publikuj.

Przeglądanie witryny internetowej

Aplikacja jest dostępna w przeglądarce po otrzymaniu pierwszego żądania. Prześlij żądanie do aplikacji w powiązaniu punktu końcowego ustanowionego w Menedżerze usług IIS dla lokacji.

Następne kroki

W niniejszym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Zainstaluj pakiet hostingu .NET Core w systemie Windows Server.
  • Utwórz witrynę usług IIS w Menedżerze usług IIS.
  • Wdrażanie aplikacji ASP.NET Core.

Aby dowiedzieć się więcej na temat hostowania aplikacji ASP.NET Core w usługach IIS, zobacz artykuł Omówienie usług IIS:

Dodatkowe zasoby

Artykuły w zestawie dokumentacji ASP.NET Core

Artykuły dotyczące wdrażania aplikacji ASP.NET Core

Artykuły dotyczące konfiguracji protokołu HTTPS usług IIS

Artykuły dotyczące usług IIS i Windows Server

Zasoby wdrażania dla administratorów usług IIS