ASP.NET Core-programma's extern publiceren naar IIS-webservers op internet

Aanmaakdatum van pagina :

milieu

Windows Server
  • Windows Server 2019
Internet Information Services (IIS)
  • 10.0
ASP.NET kern
  • 5.0
Web implementeren
  • 3.6 Japanse versie

Eerst

Leer hoe u ASP.NET Core-programma's rechtstreeks vanuit Visual Studio uploadt naar Internet Information Services (IIS) die u instelt op Windows Server.

De eerste keer dat u op Windows Server moet werken, kunt u het na het instellen voor de tweede keer en daarna rechtstreeks vanuit Visual Studio publiceren.

Deze tips publiceren programma's naar servers op internet, maar de beveiligingsmaatregelen zijn minimaal, dus als u zich zorgen maakt, raden we u aan aanvullende maatregelen te nemen of een andere uploadmethode te nemen.

voorwaarde

  • Windows Server instellen
  • Je hebt al een ASP.NET Core-programma om te uploaden
  • Verbinding maken met servers via internet of intranet

procedure

Internet Information Services (IIS) instellen

De stappen worden samengevat op de volgende pagina. IIS kan ook worden gebruikt voor andere dan het uitvoeren van ASP.NET Core-programma's.

Overigens zijn er extra instellingen vereist in iis setup, maar het is niet ingesteld in tips hierboven gelinkt. Je kunt het later instellen, dus daar zullen we het later over hebben.

Beheerservices toevoegen in IIS

Voeg dit toe omdat de standaardinstallatie van IIS geen 'beheerde service' instelt.

Start Serverbeheer.

Selecteer in het menu Functies en onderdelen toevoegen.

Druk meerdere keren op de knop "Volgende" naar het gewenste scherm.

Wanneer u naar het scherm "Serverfunctie selecteren" komt, vouwt u "Webserver (IIS)" en "Beheerprogramma's" uit en vinkt u "Beheerservices" aan. (De figuur is in het Engels, maar het is hetzelfde.)

Als ASP.NET 4.7 niet is geïnstalleerd, verschijnt het volgende dialoogvenster, dus voeg het samen.

Klik daarna op de knop "Volgende" zoals deze is en installeer deze.

Wanneer u IIS-beheer opent, kunt u controleren of er beheerservices zijn toegevoegd.

De firewall staat ook automatisch poorten toe voor implementatie.

ASP.NET Core Hosting Bundle installeren

Vereist om ASP.NET Core uit te voeren op Windows Server. Eenmaal geïnstalleerd, kan het in IIS werken als een traditionele ASP.NET toepassing.

Ga naar de volgende pagina's: Overigens gebruikt deze Tips 5.0, dus als je een andere versie gebruikt, ga dan naar de bijbehorende pagina.

Er is een hostingbundel voor Windows tijdens runtime rechtsonder in het scherm, dus klik op de link om deze te downloaden.

Voer het gedownloade installatieprogramma uit op Windows Server.

Vink "Ik ga akkoord met de licentievoorwaarden en gebruiksvoorwaarden" aan en klik op de installatieknop.

Sluit wanneer de installatie is voltooid.

Web Deploy installeren

Vereist om een publicatieprogramma van Visual Studio te ontvangen.

Ga naar onderstaande link.

Downloaden.

Windows Server heeft alleen een basis 64-bits versie, dus download de 64-bits versie.

Uitvoeren op Windows Server.

Klik op Volgende.

Vink "Ik ga akkoord met de licentieovereenkomst" aan en klik op "Volgende".

Klik op Volledig.

Klik op de knop "Installeren".

Wanneer de installatie is voltooid, klikt u op de knop "Gereed".

Wanneer u IIS-beheer opent, hebt u Gedelegeerde beheerservices toegevoegd.

Instellingen voor groep van toepassingen

Voor ASP.NET Core is de .NET CLR niet relevant, dus voeg een groep van toepassingen toe zonder beheerde code. U kunt de bestaande DefaultAppPool veilig wijzigen. Deze instelling is niet direct gerelateerd aan webimplementatie, dus ik zal niet voor de details zorgen.

Als u een groep van toepassingen hebt toegevoegd, stelt u deze in op de site.

Een site maken

Maak een site. U kunt een nieuwe maken of u kunt de standaardwebsite helemaal opnieuw gebruiken. Met deze tips blijft de standaardwebsite behouden. Het maken van een site heeft niets direct te maken met webimplementatie, dus ik wil niet in detail treden.

Een implementatiegebruiker maken

Het kan ook worden geïmplementeerd in een Windows-account, maar het verhoogt de beveiligingsrisico's en creëert een speciale implementatiegebruiker. U hoeft dit item niet te configureren als u implementeert in een Windows-account.

Start IIS-beheer.

Selecteer een server in de linkerstructuur en open GEBRUIKERS VAN IIS-beheer in de centrale beheergroep.

Klik op Gebruiker toevoegen aan de rechterkant.

Maak door de naam en het wachtwoord van de implementatiegebruiker in te voeren.

Toegevoegd.

Implementatie toestaan

U hebt alleen gebruikers toegevoegd aan IIS, dus u moet machtigingen instellen voor elke site. Deze instelling is niet vereist als u publiceert met een Windows-beheerdersaccount.

Selecteer de site in de structuur aan de linkerkant om machtigingen voor IIS-beheer te openen.

Klik in het rechter item op Gebruikers toestaan.

Aangezien we de gebruiker opgeven die we deze keer aan IIS hebben toegevoegd, controleert u iis-beheer en klikt u op de selectieknop. Als u wilt publiceren met een Windows-account, controleert u Windows.

Er wordt een lijst met gebruikers weergegeven en u selecteert deze.

Eenmaal geselecteerd, klikt u op de knop OK.

De staat die is toegevoegd.

Implementatie-instellingen

Selecteer een server in de structuur aan de linkerkant om Management Services te openen.

Als 'Externe verbinding inschakelen' en 'Windows-referenties of IIS-beheerreferenties' zijn ingeschakeld, hoeft u niets te doen. Als u publiceert met een Windows-account, is het OK als 'Alleen Windows-referenties' is ingeschakeld.

Als het niet is gecontroleerd, controleer het dan.

Ik denk dat elk item zich in een staat bevindt waarin je niet kunt binnenkomen, dus klik op "Stop" aan de rechterkant.

Controleer de items die u nodig hebt. Als u klaar bent, klikt u op de link 'Start' aan de rechterkant.

Er is een instelling om de beveiliging onder aan dit scherm te verhogen, maar allereerst is het noodzakelijk om te bevestigen dat het kan worden geregeld, dus ik zal deze tijd niet sparen.

Programma's implementeren vanuit Visual Studio

Ga terug naar uw werk-pc en start Visual Studio om het programma ASP.NET Core te openen. Deze keer zullen we een programma publiceren met een nieuw project gemaakt.

Klik met de rechtermuisknop op het project en selecteer Publiceren.

Selecteer Webserver (IIS) en klik op Volgende.

Selecteer Webimplementatie.

Typ het volgende:

Waarde parameternaam
server Het IP-adres of de DNS- of domeinnaam van de server die IIS heeft geconfigureerd. U kunt internet of intranet opgeven.
Naam van de site Hiermee geeft u de sitenaam op die aan IIS wordt toegevoegd.
Naar URL Er is geen probleem met witruimte.
Gebruikersnaam Hiermee geeft u de gebruikersaccount op Windows Server op of de gebruikersnaam die u in IIS hebt gemaakt.
wachtwoord Voer hierboven het verificatiewachtwoord voor de gebruiker in.
Wachtwoord opslaan Als het lastig is om elke keer dat u publiceert een wachtwoord in te voeren, slaat u het op.

Het wordt gemaakt zoals getoond.

Als u meerdere publicatieprofielen hebt gemaakt, kunt u deze wijzigen in de vervolgkeuzelijst hierboven, maar als de naam verwarrend is, kunt u dit doen.

Gedetailleerde instellingen kunnen worden gewijzigd op het bewerkingsscherm.

"Instellingen" is geselecteerd op het linker tabblad. U hoeft geen speciale wijzigingen aan te brengen, maar wijzig indien nodig de opties configuratie, doelruntime en bestandspublicatie.

"Verbinden" is geselecteerd op het linkertabblad. U ziet wat u als eerste hebt getypt, maar klik op de knop "Verbinding verifiëren" hieronder.

Het volgende dialoogvenster wordt weergegeven wanneer u verbinding kunt maken met de uitgever. Schakel dit certificaat opslaan voor toekomstige sessies in Visual Studio in en klik op de knop 'Ik ga akkoord'. Als u opslaat, wordt dit dialoogvenster alleen voor het eerst weergegeven.

Als er een vinkje wordt weergegeven aan de rechterkant van de verificatie van de verbinding, is het mogelijk om normaal verbinding te maken.

Trouwens, als het mislukt, klik dan op de link om de oorzaak te controleren en actie te ondernemen, afhankelijk van de oorzaak.

Veel voorkomende oorzaken zijn:

  • De gebruikersnaam en het wachtwoord zijn onjuist.
  • Het IIS staat geen gebruikers toe. Zodra de onderzoeksmethode is geïmplementeerd door een Windows-beheerder.
  • Tcp 8172 firewall is niet toegestaan. Clouds zoals Azure laten dit niet toe aan de cloudkant.
  • U hebt het hulpprogramma Voor webimplementatie niet "volledig" geïnstalleerd.
  • Iis ontbreekt. Controleer deze tips nog eens.

Als u klaar bent, klikt u in Solution Explorer op Solution → Project → Properties → PublishProfiles vouw uit en stel de naam van het probleem in ". pubxml", zo opent het.

Project Voeg de volgende code toe aan de tag > en sla PropertyGroup deze op:

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

Wanneer u klaar bent met instellen, publiceert u met de knop Publiceren.

Als u met succes publiceert, bent u klaar. Het kan af en toe mislukken, dus in dat geval, geef het opnieuw uit of controleer de verbinding.

Als u het in een webbrowser kunt openen en het ASP.NET Core-programma kunt zien werken, bent u klaar.

Geschiedenis bijwerken

  • 12 november 2021 : Beschrijving toegevoegd omdat .pubxml al enige tijd AllowUntrustedCertificate nodig was