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ą:
- Tworzenie gałęzi rejestru na potrzeby ASP.NET Core Data Protection
- Konfiguracja listy kontroli dostępu (ACL) puli aplikacji
- Aby skoncentrować się na pojęciach związanych z wdrażaniem usług IIS, ten samouczek wdraża aplikację bez zabezpieczeń HTTPS skonfigurowanych w usługach IIS. Aby uzyskać więcej informacji na temat hostowania aplikacji obsługującej protokół HTTPS, zobacz tematy dotyczące zabezpieczeń w sekcji Dodatkowe zasoby tego artykułu. Dalsze wskazówki dotyczące hostowania aplikacji ASP.NET Core są dostępne w artykule Host ASP.NET Core w systemie Windows z usługami IIS .
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)
Uruchom instalatora na serwerze usług IIS.
Uruchom ponownie serwer lub wykonaj
net stop was /y
polecenienet start w3svc
w powłoce poleceń.
Tworzenie witryny usług IIS
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.
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.
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/
ihttp://+: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 .Upewnij się, że model identity przetwarzania ma odpowiednie uprawnienia.
Jeśli wartość domyślna identity puli aplikacji (modelIdentity> przetwarzania) zostanie zmieniona z
ApplicationPoolIdentity
na innąidentity, sprawdź, czy nowe identity 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).
- Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz pozycję Opublikuj.
- W oknie dialogowym Wybieranie miejsca docelowego publikowania wybierz opcję Publikowanie folderu.
- 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.
- 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 tym 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
- Moduł ASP.NET Core (ANCM) dla usług IIS
- Struktura katalogów platformy ASP.NET Core
- Rozwiązywanie problemów z typowymi błędami platformy ASP.NET Core w usłudze Azure App Service i usługach IIS
- Wymuszanie protokołu HTTPS w ASP.NET Core
- Obiekty WebSocket w usługach IIS
Artykuły dotyczące wdrażania aplikacji ASP.NET Core
- Publikowanie aplikacji ASP.NET Core na platformie Azure przy użyciu programu Visual Studio
- Publikowanie aplikacji ASP.NET Core na platformie Azure przy użyciu programu Visual Studio Code
- Profile publikowania programu Visual Studio (pubxml) dla wdrożenia 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
- Dokumentacja usług IIS
- Wprowadzenie za pomocą Menedżera usług IIS w usługach IIS
- Wdrażanie aplikacji platformy .NET Core
- Moduł ASP.NET Core (ANCM) dla usług IIS
- Struktura katalogów platformy ASP.NET Core
- Moduły usług IIS z platformą ASP.NET Core
- Rozwiązywanie problemów z typowymi błędami platformy ASP.NET Core w usłudze Azure App Service i usługach IIS
- Rozwiązywanie problemów z typowymi błędami platformy ASP.NET Core w usłudze Azure App Service i usługach IIS
- Sesje sticky z routingiem żądań aplikacji