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:
- Open IIS Manager en klik op de servernaam in de linkerkolom.
- Dubbelklik op Server Certificates.
- Klik in het rechterpaneel op Import.
- Selecteer het certificaatbestand en voer het wachtwoord in. Kies bij Certificate Store voor Personal en klik op OK.
- 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:
- Open IIS Manager en klik met de rechtermuisknop op Sites.
- Kies Add Website en vul de volgende gegevens in:
- Site Name: Een herkenbare naam, zoals Example.
- Physical Path: Selecteer de map waarin de bestanden worden opgeslagen. Maak indien nodig een nieuwe map aan.
- Connect As: Controleer of de IIS-gebruiker toegang heeft tot de map. Zo niet, voeg een gebruiker met voldoende rechten toe, zoals webfarm.
- Binding:
- Kies bij Type voor https.
- Laat het IP-adres op All Unassigned staan.
- De poort wordt automatisch ingesteld op 443.
- Vul bij Host Name de volledige domeinnaam in, zoals smartinsight.nu.
- Zet een vinkje bij Require Server Name Indication als meerdere websites op de server draaien.
- Selecteer het geïnstalleerde SSL-certificaat.
- 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:
- Zorg ervoor dat het pakketje (.zip-bestand) klaarstaat op de server, bijvoorbeeld op het bureaublad.
- Klik met de rechtermuisknop op de zojuist aangemaakte website in IIS.
- Kies Deploy > Import Application.
- Blader naar de locatie van het pakketje en selecteer het bestand.
- Klik op Next tot het scherm The contents of the package verschijnt. Hier hoeft niets aangepast te worden.
- Verwijder eventuele standaardregels die niet nodig zijn in de configuratie.
- Klik op Next. Accepteer de waarschuwing dat de site niet in de hoofdmap wordt geplaatst.
- 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.
- Open IIS en ga naar de webserver algemeen
- Dubbelklik op server certificates
- Klik nu met de rechtermuisknop en kies voor import
- 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.
- Nu is het certificaat toegevoegd aan het overzicht en vervolgens kun je deze gebruiken voor de volgende stappen.
Aanmaken website in IIS
- Ga allereerst naar de webserver en open IIS
- Klik nu op sites en vervolgens op Add website
- Daarna moeten hier de volgende gegevens worden ingevuld:
- Site name. Dit is een naam die wordt gegeven om de site makkelijk te herkennen. Gebruik bijvoorbeeld de naam: ‘Example’.
- 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.
- 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. - Kies bij de binding https bij type. IP adres kan blijven staan.
- De poort wordt automatisch aangepast naar 443 als er voor https gekozen wordt.
- 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.
- SSL certificate. Selecteer hier het eerder geïmporteerde ssl certificaat. Dus *.smartinsight.nl
- Klik nu op OK, de website zal nu gelijk zichtbaar zijn in het overzicht van alle websites.
Pakketje installeren op de webserver
- Het pakketje staat klaar op het bureaublad van de server.
- Klik met de rechtermuisknop op de site die hierboven is aangemaakt.
- Ga dan naar deploy en klik op Import Application
- 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.
- Klik dan op next
- Nu komt een scherm met the contents of the package. Hier hoeft niks aangepast te worden.
- Klik weer op next.
- Op deze pagina staat standaard de regel ingevuld
- Deze regel is niet nodig. Deze moet dus weggehaald worden
- Klik weer op next, nu komt er een waarschuwing dat de website niet in de hoofdmap wordt geplaatst. Dit is OK
- Nu is het pakket geïnstalleerd
- 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.