.NET webapplicaties deployen in IIS

Stappenplan: Een .NET-pakket deployen naar een IIS-webserver met HTTPS-certificaat

Bij Growteq werken we dagelijks met complexe systemen en slimme oplossingen om onze klanten te ondersteunen. Een van onze werkwijzen is het gebruik van verschillende subdomeinen om duidelijk onderscheid te maken tussen locaties en functionaliteiten. In deze blog nemen we je mee in de eerste stappen om een .NET-pakketje te deployen naar een IIS-webserver en daar een HTTPS-certificaat aan te koppelen.

Voor deze handleiding gebruiken we een Windows Server 2019 met IIS 10 en een wildcard SSL-certificaat, zodat meerdere subdomeinen eenvoudig beveiligd kunnen worden.

Benodigdheden

Om aan de slag te gaan, heb je het volgende nodig:

  • Een domeinnaam
  • Een SSL-certificaat
    Bij voorkeur een wildcard-certificaat, zoals *.smartinsight.nu), zie ook https://letsencrypt.org/docs/
  • Een webserver met IIS
    Zorg ervoor dat de server bereikbaar is via poorten 80 (HTTP) en 443 (HTTPS).
  • .NET Core Hosting Bundle
    Download hier.

Stap 1: SSL-certificaat installeren

Bij Growteq gebruiken we vaak multi-domein- of wildcard-certificaten. In dit voorbeeld gebruiken we een certificaat in het .pfx-formaat met een wachtwoord. Volg onderstaande stappen om het certificaat in IIS te installeren:

  1. Open IIS Manager en klik op de servernaam in de linkerkolom.
  2. Dubbelklik op Server Certificates.
  3. Klik in het rechterpaneel op Import.
  4. Selecteer het certificaatbestand en voer het wachtwoord in. Kies bij Certificate Store voor Personal en klik op OK.
  5. Het certificaat is nu toegevoegd en klaar voor gebruik in IIS.

Stap 2: Website aanmaken in IIS

Nu het certificaat geïnstalleerd is, kun je de website aanmaken in IIS:

  1. Open IIS Manager en klik met de rechtermuisknop op Sites.
  2. Kies Add Website en vul de volgende gegevens in:
    1. Site Name: Een herkenbare naam, zoals Example.
    2. Physical Path: Selecteer de map waarin de bestanden worden opgeslagen. Maak indien nodig een nieuwe map aan.
    3. Connect As: Controleer of de IIS-gebruiker toegang heeft tot de map. Zo niet, voeg een gebruiker met voldoende rechten toe, zoals webfarm.
    4. Binding:
      1. Kies bij Type voor https.
      2. Laat het IP-adres op All Unassigned staan.
      3. De poort wordt automatisch ingesteld op 443.
      4. Vul bij Host Name de volledige domeinnaam in, zoals smartinsight.nu.
      5. Zet een vinkje bij Require Server Name Indication als meerdere websites op de server draaien.
      6. Selecteer het geïnstalleerde SSL-certificaat.
  3. Klik op OK. De website wordt toegevoegd aan de lijst van IIS-websites.

Stap 3: Pakketje deployen naar de webserver

Het is tijd om je .NET-pakketje te deployen. Bij Growteq zorgen we ervoor dat dit proces soepel verloopt door de juiste stappen te volgen:

  1. Zorg ervoor dat het pakketje (.zip-bestand) klaarstaat op de server, bijvoorbeeld op het bureaublad.
  2. Klik met de rechtermuisknop op de zojuist aangemaakte website in IIS.
  3. Kies Deploy > Import Application.
  4. Blader naar de locatie van het pakketje en selecteer het bestand.
  5. Klik op Next tot het scherm The contents of the package verschijnt. Hier hoeft niets aangepast te worden.
  6. Verwijder eventuele standaardregels die niet nodig zijn in de configuratie.
  7. Klik op Next. Accepteer de waarschuwing dat de site niet in de hoofdmap wordt geplaatst.
  8. Klik op Finish om de installatie te voltooien.

Stap 4: Test de website

Na het voltooien van de stappen kun je de website openen door de domeinnaam in te voeren, bijvoorbeeld https://smartinsight.nu. Controleer of alles naar behoren werkt en gebruik een tool zoals SSL Labs om de SSL-configuratie te testen.

Binnen Het team van Growteq maakt veel gebruik van verschillende subdomeinen. Dit om duidelijk het onderscheid te maken tussen verschillende locaties. In deze blog gaat het over de eerste stappen om een pakketje vanuit .NET te deployen naar een IIS webserver en daar vervolgens een HTTPS certificaat aan te koppelen.

Voor deze blog gebruiken we een Windows server 2012 met daarop IIS 7. Voor het SSL certificaat maken we gebruik van een wildcard certificaat. Dit zorgt ervoor dat we dit certificaat kunnen gebruiken voor elk subdomein.

Benodigdheden:

  • Domeinnaam
  • SSL certificaat
  • Webserver (IIS)
    • De server is te bereiken via poort 80(voor HTTP) en poort 443(HTTPS)

Installeren SSL Certificaat

Voor het SSL certificaat is in ons geval gekozen voor een multi-domein certificaat, omdat we meerdere subdomeinen hebben. Dit is ons geval dus *.smartinsight.nu.

Het formaat van het certificaat kan variëren bij de aanlevering. Onze versie is bijvoorbeeld een .pfx bestand met wachtwoord. De stappen voor de installatie zijn globaal hetzelfde.

  1. Open IIS en ga naar de webserver algemeen
  2. Dubbelklik op server certificates
  3. Klik nu met de rechtermuisknop en kies voor import
  4. Hier moet de locatie worden opgegeven van het certificaatbestand en ook het wachtwoord moet worden ingevoerd. De certificate store is personal. Klik vervolgens op OK.
  5. Nu is het certificaat toegevoegd aan het overzicht en vervolgens kun je deze gebruiken voor de volgende stappen.

Aanmaken website in IIS

  1. Ga allereerst naar de webserver en open IIS
  2. Klik nu op sites en vervolgens op Add website
  3. Daarna moeten hier de volgende gegevens worden ingevuld:
    1. Site name. Dit is een naam die wordt gegeven om de site makkelijk te herkennen. Gebruik bijvoorbeeld de naam: ‘Example’.
    2. Physical path. Dit is de locatie waar de site wordt opgeslagen. Door op de drie puntjes achter deze regel te klikken komt er een scherm waar je de map kan selecteren. Als de map nog niet bestaat kun je deze in hetzelfde venster aanmaken.
    3. Connect as. Selecteer hier een gebruiker die rechten heeft om te lezen en te schrijven op de gekozen locatie. Dit is alleen nodig als de standaard gebruiker van IIS geen rechten heeft op de map, dit kan gecontroleerd worden door op test settings te klikken. Als hier nu 2 groene vinkjes komen is het niet nodig een andere gebruiker toe te voegen.In ons geval is dit wel nodig omdat de standaardgebruiker van IIS geen rechten heeft op deze map, dus moeten we de gebruiker wel toevoegen bij connect as. De gebruiker die we hiervoor gebruiken is webfarm. Deze kan gekozen worden door op specific user te klikken en dan rechts op set.
      Vul vervolgens de gebruiker in en twee keer het wachtwoord. 
    4. Kies bij de binding https bij type. IP adres kan blijven staan.
    5. De poort wordt automatisch aangepast naar 443 als er voor https gekozen wordt.
    6. Host Name. In dit veld komt de volledige naam van de plek waar de website te vinden is op internet. In ons geval is dit smartinsight.nu . Ook zetten we het vinkje bij require server name indication aan. Dit is nodig als er meerder websites op de webserver staan.
    7. SSL certificate. Selecteer hier het eerder geïmporteerde ssl certificaat. Dus *.smartinsight.nl
  1. Klik nu op OK, de website zal nu gelijk zichtbaar zijn in het overzicht van alle websites.

Pakketje installeren op de webserver

  1. Het pakketje staat klaar op het bureaublad van de server.
  2. Klik met de rechtermuisknop op de site die hierboven is aangemaakt.
  3. Ga dan naar deploy en klik op Import Application
  4. Hier wordt de locatie geselecteerd waar het pakketje staat. Dit is in ons geval het bureaublad. Ga via browser naar de locatie waar het pakket staat.
  5. Klik dan op next
  6. Nu komt een scherm met the contents of the package. Hier hoeft niks aangepast te worden.
  7. Klik weer op next.
  8. Op deze pagina staat standaard de regel ingevuld
  9. Deze regel is niet nodig. Deze moet dus weggehaald worden
  10. Klik weer op next, nu komt er een waarschuwing dat de website niet in de hoofdmap wordt geplaatst. Dit is OK
  11. Nu is het pakket geïnstalleerd
  12. Klik op finish

Als alle stappen goed zijn doorlopen is de pagina te bezoeken op de plek van de domeinnaam met https ervoor.

Meer weten over onze oplossingen?

Onze consultants hebben veel ervaring binnen een grote verscheidenheid aan branches.
Eens verder brainstormen over de mogelijkheden voor jouw organisatie?

Maak kennis met onze specialist Arnoud van der Heiden.

Geef een reactie

Uw e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Fill out this field
Fill out this field
Geef alstublieft een geldig e-mailadres op.

Categorieën

Categorieën

Vragen?

Onze specialisten geven graag antwoord op uw vragen!