IIS: stránka na Windows
Ako nainštalovať webový server IIS na VPS, zverejniť prvú stránku na vlastnej doméne, vystaviť certifikát a neutopiť sa v logoch.
Aktualizované 23. augusta 2026
IIS je vstavaný webový server Windows Servera. Dobre sa hodí pre ASP.NET aplikácie, pre statický obsah a ako reverzný proxy pred službou, ktorá počúva na lokálnom porte.
Inštalácia
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Install-WindowsFeature Web-Asp-Net48, Web-Http-Redirect, Web-Dyn-Compression
Otvor porty vo firewalle:
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Skontroluj, že sa úvodná stránka otvára na adrese tvojho stroja z „Prehľadu“ v ovládacom paneli /hosting/vds/m/<id>. Ak nie, pozri Windows Firewall.
Prvá stránka
Import-Module WebAdministration
New-Item -ItemType Directory C:\sites\example
Set-Content C:\sites\example\index.html "<h1>It works</h1>"
New-WebAppPool -Name "example"
New-Website -Name "example" -Port 80 -HostHeader "example.ru" `
-PhysicalPath "C:\sites\example" -ApplicationPool "example"
Hlavička hostiteľa (-HostHeader) ti umožní hostovať viacero stránok na jednej adrese: IIS ich rozlíši podľa domény. Doména musí smerovať na adresu tvojho stroja pomocou A záznamu.
Stránka potrebuje na adresár len minimálne oprávnenia — čítanie:
icacls C:\sites\example /grant "IIS AppPool\example:(OI)(CI)R" /T
HTTPS certifikát
Najjednoduchší spôsob, ako získať bezplatný certifikát, je klient win-acme: stiahni wacs.exe, spusti ho ako správca a vyber svoju stránku zo zoznamu — vydá certifikát, naviaže ho na stránku a vytvorí úlohu na obnovenie.
Na kontrolu väzieb:
Get-WebBinding -Name "example"
New-WebBinding -Name "example" -Protocol https -Port 443 -HostHeader "example.ru" -SslFlags 1
Na vydanie certifikátu musí byť port 80 otvorený zvonku — cez neho prebieha overenie domény.
Aplikácia za IIS
Ak tvoja služba (Node, Python, .NET Kestrel) počúva na 127.0.0.1:5000, nainštaluj moduly URL Rewrite a Application Request Routing, povoľ proxovanie a pridaj do web.config stránky toto:
<rule name="proxy" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://127.0.0.1:5000/{R:1}" />
</rule>
Takto je zvonku vystavené len IIS s certifikátom a aplikácia zostáva na localhoste.
Prevádzka
Get-Website | Select-Object Name, State, PhysicalPath
Restart-WebAppPool example
Get-WebAppPoolState
Logy sú v C:\inetpub\logs\LogFiles a rastú bez obmedzenia — na 40 GB disku sa to rýchlo nazbiera. Nastav rotáciu v IIS Manageri (sekcia „Logging“, denné súbory) a staré logy maž naplánovanou úlohou:
Get-ChildItem C:\inetpub\logs\LogFiles -Recurse -File |
Where-Object LastWriteTime -lt (Get-Date).AddDays(-30) | Remove-Item -Force
Časté chyby
- Chyba 500.19 — poškodený
web.configalebo chýbajúci modul. Presnú príčinu vidíš v texte chyby, ak pre lokálne požiadavky povolíš podrobné správy. - Application pool sa sám zastaví. Zasiahol rapid-fail protection: stránka spadne a IIS ju vypne. Hľadaj príčinu v logu aplikácie (
Get-WinEvent -LogName Application -MaxEvents 30). - Stránka sa otvára podľa adresy, ale nie podľa domény. Hlavička hostiteľa nesedí alebo sa DNS ešte neaktualizovalo.
- 403 po publikovaní. Application pool nedostal oprávnenia na adresár.
Adresáre stránok drž mimo
C:\inetpuba v samostatnom priečinku, napríkladC:\sites— zálohy sú potom jednoduchšie a môžeš preinštalovať systém bez straty dát.