Skip to content
VDS · Windows Server

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.config alebo 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:\inetpub a v samostatnom priečinku, napríklad C:\sites — zálohy sú potom jednoduchšie a môžeš preinštalovať systém bez straty dát.