Zdalne publikowanie programów ASP.NET Core na serwerach sieci Web usług IIS w Internecie

Data utworzenia strony :

środowisko

Windows Server
  • System Windows Server 2019
Internetowe usługi informacyjne (IIS)
  • 10.0
Rdzeń ASP.NET
  • 5.0
Wdrażanie w sieci Web
  • 3.6 Wersja japońska

Na początku

Dowiedz się, jak przekazywać programy ASP.NET Core bezpośrednio z programu Visual Studio do Internetowych usług informacyjnych (IIS) skonfigurowanych w systemie Windows Server.

Za pierwszym razem, gdy musisz pracować w systemie Windows Server, po skonfigurowaniu go, możesz opublikować go bezpośrednio z programu Visual Studio po raz drugi i później.

Ta wskazówka publikuje programy na serwerach w Internecie, ale środki bezpieczeństwa są minimalne, więc jeśli się martwisz, zalecamy podjęcie dodatkowych środków lub podjęcie innej metody przesyłania.

Warunek wstępny

  • Konfiguracja systemu Windows Server
  • Masz już program ASP.NET Core do przesłania
  • Łączenie się z serwerami przez Internet lub intranet

procedura

Konfigurowanie Internetowych usług informacyjnych (IIS)

Kroki zostaną podsumowane na następnej stronie. Programy IIS mogą być również używane do innych niż uruchamianie programów ASP.NET Core.

Nawiasem mówiąc, dodatkowe ustawienia są wymagane w konfiguracji iis, ale nie są ustawione w wskazówkach połączonych powyżej. Możesz go skonfigurować później, więc porozmawiamy o tym później.

Dodawanie usług zarządzania w usługach IIS

Dodaj go, ponieważ domyślna konfiguracja usług IIS nie konfiguruje "usługi zarządzanej".

Uruchom Menedżera serwera.

Z menu zarządzaj wybierz Dodaj role i funkcje.

Naciśnij przycisk "Dalej" kilka razy do żądanego ekranu.

Po wyświetleniu ekranu "Wybierz rolę serwera" rozwiń "Serwer sieci Web (IIS)" i "Narzędzia do zarządzania" i zaznacz "Usługi zarządzania". (Rysunek jest w języku angielskim, ale jest taki sam.)

Jeśli ASP.NET 4.7 nie jest zainstalowany, pojawi się następujące okno dialogowe, więc dodaj je razem.

Następnie kliknij przycisk "Dalej" i zainstaluj go.

Po otwarciu Menedżera usług IIS można sprawdzić, czy usługi administracyjne zostały dodane.

Zapora automatycznie zezwala również na porty do wdrożenia.

instalacja pakietu ASP.NET Core Hosting Bundle

Wymagane do uruchomienia ASP.NET Core w systemie Windows Server. Po zainstalowaniu może działać w usługach IIS jak tradycyjna aplikacja ASP.NET.

Przejdź do następujących stron: Nawiasem mówiąc, ta wskazówka używa 5.0, więc jeśli używasz innej wersji, przejdź do odpowiedniej strony.

W prawym dolnym rogu ekranu znajduje się pakiet hostingowy dla systemu Windows w czasie wykonywania, więc kliknij link, aby go pobrać.

Uruchom pobrany instalator w systemie Windows Server.

Zaznacz "Akceptuję postanowienia licencyjne i warunki użytkowania" i kliknij przycisk instalacji.

Zamknij po zakończeniu instalacji.

Instalowanie narzędzia Web Deploy

Wymagane do otrzymania programu do publikowania z programu Visual Studio.

Przejdź do poniższego linku.

Pobierać.

System Windows Server ma tylko podstawową wersję 64-bitową, więc pobierz wersję 64-bitową.

Uruchom w systemie Windows Server.

Kliknij przycisk Dalej.

Zaznacz "Akceptuję umowę licencyjną" i kliknij "Dalej".

Kliknij przycisk Pełne.

Kliknij przycisk "Zainstaluj".

Po zakończeniu instalacji kliknij przycisk "Gotowe".

Po otwarciu Menedżera usług IIS dodano usługi zarządzania pełnomocnikami.

Ustawienia puli aplikacji

W przypadku ASP.NET Core, .NET CLR jest nieistotny, więc dodaj pulę aplikacji bez kodu zarządzanego. Możesz bezpiecznie zmienić istniejącą DefaultAppPool. To ustawienie nie jest bezpośrednio związane z wdrażaniem sieci Web, więc nie będę dbał o szczegóły.

Jeśli dodano pulę aplikacji, ustaw ją na witrynę.

Tworzenie witryny

Utwórz witrynę. Można utworzyć nową lub użyć domyślnej witryny sieci Web od podstaw. Te wskazówki zachowają domyślną witrynę sieci Web. Tworzenie witryny nie ma nic wspólnego bezpośrednio z wdrażaniem sieci Web, więc nie chcę wchodzić w szczegóły.

Tworzenie użytkownika wdrożenia

Można go również wdrożyć na koncie systemu Windows, ale zwiększa ryzyko związane z bezpieczeństwem i tworzy dedykowanego użytkownika wdrażania. Nie trzeba konfigurować tego elementu, jeśli wdrażasz na koncie systemu Windows.

Uruchom Menedżera usług IIS.

Wybierz serwer z lewego drzewa i otwórz apłem Użytkownicy Menedżera usług IIS w centralnej grupie administracyjnej.

Kliknij Dodaj użytkownika po prawej stronie.

Utwórz, wprowadzając nazwę i hasło użytkownika wdrożenia.

Dodane.

Zezwalaj na wdrażanie

Do serwisów IIS dodano tylko użytkowników, więc musisz ustawić uprawnienia dla każdej witryny. To ustawienie nie jest wymagane w przypadku publikowania przy pomocy konta administratora systemu Windows.

Wybierz witrynę z drzewa po lewej stronie, aby otworzyć apłony Uprawnienia Menedżera usług IIS.

W prawym elemencie kliknij opcję Zezwalaj użytkownikom.

Ponieważ określamy użytkownika, którego tym razem dodaliśmy do usług IIS, sprawdź Menedżera usług iis i kliknij przycisk wyboru. Jeśli chcesz publikować za pomocą konta systemu Windows, zaznacz opcję Windows.

Zostanie wyświetlona lista użytkowników i zostanie wybrana.

Po wybraniu kliknij przycisk OK.

Stan, który został dodany.

Ustawienia wdrażania

Wybierz serwer z drzewa po lewej stronie, aby otworzyć okno Usługi zarządzania.

Jeśli zaznaczone są pozycje "Włącz połączenie zdalne" i "Poświadczenia systemu Windows lub Poświadczenia Menedżera usług IIS", nie trzeba nic robić. Jeśli publikujesz za pomocą konta systemu Windows, opcja "Tylko poświadczenia systemu Windows" jest zaznaczona.

Jeśli nie jest zaznaczony, sprawdź go.

Myślę, że każdy element jest w stanie, w którym nie można wejść, więc kliknij "Stop" po prawej stronie.

Sprawdź potrzebne elementy. Gdy skończysz, kliknij link "Start" po prawej stronie.

Na dole tego ekranu znajduje się ustawienie zwiększające bezpieczeństwo, ale przede wszystkim konieczne jest potwierdzenie, że można je zorganizować, więc nie będę szczędził tego czasu.

Wdrażanie programów z programu Visual Studio

Wróć do komputera w pracy i uruchom program Visual Studio, aby otworzyć program ASP.NET Core. Tym razem opublikujemy program z nowym projektem stworzonym.

Kliknij prawym przyciskiem myszy projekt i wybierz polecenie Opublikuj.

Wybierz opcję Serwer sieci Web (IIS) i kliknij przycisk Dalej.

Wybierz pozycję Web Deployment (Wdrożenie w sieci Web).

Wpisz następujące polecenie:

Wartość
nazwy parametru
serwer Adres IP, DNS lub nazwa domeny serwera, na którym skonfigurowano usługi IIS. Można określić Internet lub intranet.
Nazwa witryny Określa nazwę witryny dodawanych do usługi IIS.
Do adresu URL Nie ma problemu z białą przestrzenią.
Nazwa użytkownika Określa konto użytkownika w systemie Windows Server lub nazwę użytkownika utworzoną w programie IIS.
hasło Wprowadź hasło uwierzytelniające dla użytkownika powyżej.
Zapisz hasło Jeśli wprowadzanie hasła przy każdej publikacji jest kłopotliwe, zapisz je.

Jest tworzony w pokazany sposób.

Jeśli utworzono wiele profili publikowania, można je zmienić na powyższej listy rozwijanej, ale jeśli nazwa jest myląca, można to zrobić.

Szczegółowe ustawienia można zmienić na ekranie edycji.

"Ustawienia" są wybierane z lewej karty. Nie trzeba wprowadzać żadnych specjalnych zmian, ale w razie potrzeby zmień opcje konfiguracji, docelowego środowiska wykonawczego i publikowania plików.

"Połącz" jest wybierany z lewej karty. Zobaczysz, co wpisałeś jako pierwszy, ale kliknij przycisk "Zweryfikuj połączenie" poniżej.

Poniższe okno dialogowe zostanie wyświetlone, gdy będzie można pomyślnie połączyć się z wydawcą. Zaznacz opcję Zapisz ten certyfikat dla przyszłych sesji w programie Visual Studio i kliknij przycisk "Zgadzam się". Jeśli zapiszesz, to okno dialogowe zostanie wyświetlone tylko po raz pierwszy.

Jeśli po prawej stronie weryfikacji połączenia zostanie wyświetlony znacznik wyboru, możliwe będzie normalne połączenie.

Nawiasem mówiąc, jeśli to się nie powiedzie, kliknij link, aby sprawdzić przyczynę i podjąć działania w zależności od przyczyny.

Najczęstsze przyczyny to:

  • Nazwa użytkownika i hasło są niepoprawne.
  • IIS nie zezwalają użytkownikom. Po wdrożeniu metody badania przez administratora systemu Windows.
  • Zapora tcp 8172 jest niedozwolona. Chmury, takie jak azure, nie zezwalają na to po stronie chmury.
  • Narzędzie web deployment nie jest zainstalowane "w pełni".
  • Iis brakuje. Proszę dokładnie sprawdzić te wskazówki.

Po zakończeniu w Eksploratorze rozwiązań kliknij pozycję Właściwości → projektu → rozwiązania → → PublishProfiles rozwiń i ustaw nazwę sprawy ". pubxml", więc się otwiera.

Project Dodaj i zapisz następujący kod w PropertyGroup tagu >:

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

Po zakończeniu konfiguracji opublikuj za pomocą przycisku publikuj.

Jeśli publikujesz pomyślnie, gotowe. Czasami może się nie udać, więc w takim przypadku należy go ponownie wydać lub zweryfikować połączenie.

Jeśli możesz uzyskać do niego dostęp w przeglądarce internetowej i zobaczyć, że program ASP.NET Core działa, gotowe.

Historia aktualizacji

  • 12 listopada 2021 r.: Dodano opis, ponieważ .pubxml był potrzebny od jakiegoś czasu AllowUntrustedCertificate