V opis sem vključil vseh pet slik iz tvoje povezave: diagram delovanja IIS, tri posnetke namestitve in preverjanja ter diagram aplikacijskih bazenov. Slike so razporejene ob ustreznih razlagah.
IIS – od osnov do postavitve spletne strani
1. Kaj je IIS in za kaj se uporablja?
IIS (Internet Information Services) je Microsoftov spletni strežnik za operacijski sistem Windows. Omogoča gostovanje spletnih strani, spletnih aplikacij in API-jev.
Njegova glavna naloga je sprejemanje zahtev iz brskalnika in vračanje ustrezne vsebine. Ta vsebina je lahko datoteka HTML, slika, dokument ali odgovor, ki ga pripravi spletna aplikacija.
Diagram iz izvirnega vodiča prikazuje pot od uporabnikove zahteve do spletne vsebine.
Primer: uporabnik odpre šolski portal. IIS sprejme zahtevo za urnik, aplikacija pridobi podatke iz podatkovne baze, strežnik pa vrne odgovor brskalniku.
IIS uporabljamo za:
- Statične spletne strani: HTML, CSS, JavaScript in slike.
- Dinamične spletne aplikacije, zlasti ASP.NET in ASP.NET Core.
- Spletne API-je, ki vračajo podatke, na primer v obliki JSON.
- Interne portale podjetij in šol.
- Upravljanje HTTPS povezav in preverjanje identitete uporabnikov.
Pri statični vsebini strežnik vrne že pripravljeno datoteko. Pri dinamični vsebini aplikacija pripravi odgovor glede na zahtevo, uporabnika ali podatke.
2. Kako deluje spletni strežnik?
Za razumevanje IIS potrebuješ štiri osnovne pojme:
| Pojem | Kaj pomeni? | Primer |
|---|---|---|
| IP-naslov | Omrežni naslov strežnika | 192.168.1.10 |
| DNS | Razreševanje domenskega imena v IP-naslov | portal.sola.si → naslov strežnika |
| HTTP/HTTPS | Protokol za spletne zahteve in odgovore | https://portal.sola.si |
| Vrata oziroma port | Številka omrežne storitve | 80, 443, 8080 |
Ko v brskalnik vpišeš spletni naslov:
- Brskalnik ugotovi IP-naslov strežnika.
- Vzpostavi povezavo na ustrezna vrata.
- Pri HTTPS vzpostavi zaščiteno povezavo TLS.
- Pošlje zahtevo za vsebino.
- IIS vrne datoteko ali zahtevo preda aplikaciji.
- Brskalnik prejme odgovor in prikaže stran.
| Lastnost | HTTP | HTTPS |
|---|---|---|
| Privzeta vrata | 80 | 443 |
| Šifriranje povezave | Ne | Da, s TLS |
| Certifikat | Ni potreben | Potreben |
| Začetek naslova | http:// |
https:// |
Primer: naslov http://localhost:8080 pomeni povezavo na vrata 8080 na računalniku, na katerem odpiraš brskalnik.
localhost vedno označuje tvoj trenutni računalnik. Za dostop do drugega strežnika uporabi njegov IP-naslov ali domensko ime.
3. Kako namestiš IIS?
IIS omogočiš med funkcijami sistema Windows oziroma ga na Windows Serverju namestiš kot strežniško vlogo. Razpoložljivost komponent je odvisna od izdaje sistema.
Korak 1: odpri funkcije sistema Windows
Pritisni Win + R, vpiši optionalfeatures in potrdi.
Korak 2: omogoči potrebne komponente
Poišči Internet Information Services. Za osnovno statično spletno mesto potrebuješ predvsem:
- IIS Management Console za grafično upravljanje.
- Static Content za streženje datotek.
- Default Document za izbiro začetne datoteke.
Korak 3: preveri delovanje
Po namestitvi odpri http://localhost. Če je privzeto spletno mesto zagnano na vratih 80, se prikaže začetna stran IIS.
Na Windows Serverju odpri Server Manager → Add Roles and Features ter dodaj Web Server (IIS). Uporabiš lahko tudi PowerShell s skrbniškimi pravicami:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Za odpiranje IIS Managerja v okno Win + R vpiši:
inetmgr
4. Websites, Application Pools in Bindings
To so trije najpomembnejši pojmi pri upravljanju IIS.
| Pojem | Njegova vloga |
|---|---|
| Website | Določa spletno mesto, njegove aplikacije in vsebino |
| Application Pool | Določa procesno okolje in identiteto za izvajanje aplikacij |
| Binding | Določa protokol, IP-naslov, vrata in ime gostitelja |
Website – spletno mesto
Na enem strežniku lahko gostuje več spletnih mest, na primer šolski portal, spletna knjižnica in javna spletna stran.
Physical Path določa mapo z vsebino na disku. Privzeto spletno mesto običajno uporablja mapo C:\inetpub\wwwroot.
Application Pool – aplikacijski bazen
Aplikacijski bazeni omogočajo ločeno izvajanje aplikacij. Vsak bazen ima svojo identiteto in nastavitve delovnih procesov.
Diagram prikazuje dve spletni mesti v ločenih bazenih in delovnih procesih.
Če se proces ene aplikacije sesuje, lahko aplikacije v drugih bazenih še naprej delujejo. IIS delovni proces se imenuje w3wp.exe. Diagram je poenostavljen; ASP.NET Core se lahko glede na način gostovanja izvaja tudi v ločenem procesu. Microsoft: aplikacijski bazeni
Binding – vezava
Binding določa, na katerem naslovu je spletno mesto dosegljivo.
| Protokol | Vrata | Ime gostitelja |
|---|---|---|
| HTTP | 80 | portal.sola.si |
| HTTP | 80 | knjiznica.sola.si |
| HTTPS | 443 | portal.sola.si |
Različna imena gostiteljev omogočajo več spletnih mest na istem IP-naslovu in vratih. Pri HTTPS izbereš še certifikat; SNI omogoča uporabo različnih konfiguracij TLS na istem IP-naslovu in vratih. Microsoft: bindings
Binding in DNS nastaviš ločeno: binding usmeri zahtevo znotraj IIS, DNS pa uporabnika pripelje do strežnika.
5. Kako objaviš svojo spletno stran?
Korak 1: pripravi datoteke
Ustvari mapo C:\SpletneStrani\MojaStran. Vanjo shrani datoteko index.html:
<!DOCTYPE html>
<html lang="sl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Moja spletna stran</title>
</head>
<body>
<h1>Pozdravljen!</h1>
<p>Moja prva spletna stran na IIS.</p>
</body>
</html>
Korak 2: dodaj spletno mesto
V IIS Managerju izberi Sites → Add Website.
| Nastavitev | Vrednost |
|---|---|
| Site name | MojaStran |
| Application pool | MojaStran |
| Physical path | C:\SpletneStrani\MojaStran |
| Type | http |
| IP address | All Unassigned |
| Port | 8080 |
| Host name | Prazno |
Vrata 8080 morajo biti prosta.
Korak 3: nastavi dovoljenja
Za ta primer lahko v Authentication → Anonymous Authentication → Edit izbereš Application pool identity.
Mapi nato dodeli pravici Read in Read & execute za:
IIS AppPool\MojaStran
Ime mora ustrezati aplikacijskemu bazenu. Tako identiteti, ki dostopa do datotek, omogočiš njihovo branje.
Korak 4: preveri začetni dokument
V Default Document preveri, da je vključena datoteka index.html.
Korak 5: preizkusi stran
Na strežniku odpri http://localhost:8080. Prikazati se mora naslov »Pozdravljen!«.
Z drugega računalnika uporabi IP-naslov strežnika. Za oddaljeni dostop morajo biti vrata dosegljiva skozi omrežje in požarni zid.
Za aplikacije ASP.NET Core potrebuješ objavljene aplikacijske datoteke in ustrezni .NET Hosting Bundle, ki zagotavlja podporo za gostovanje z IIS. Microsoft: objava ASP.NET Core
6. Certifikati in HTTPS
HTTPS uporablja TLS, ki šifrira povezavo, varuje celovitost prenosa in omogoča preverjanje identitete strežnika.
Certifikat poveže domensko ime z javnim ključem. Za običajno javno spletno mesto mora biti:
- Izdan za uporabljeno domeno.
- Veljaven.
- Zaupanja vreden v brskalniku.
- Nameščen s pripadajočim zasebnim ključem.
V IIS izberi spletno mesto in odpri Bindings → Add. Izberi https, vrata 443, ustrezno ime gostitelja in certifikat. Po potrebi omogoči SNI.
Dodajanje HTTPS bindinga ne ustvari samodejne preusmeritve s HTTP. Preusmeritev nastaviš posebej.
7. Varnost, pravice in prijava uporabnikov
Ločevati moraš med tremi mehanizmi:
| Mehanizem | Kaj določa? |
|---|---|
| Avtentikacija | Kdo je uporabnik |
| Avtorizacija | Do česa sme dostopati |
| Dovoljenja NTFS | Kaj lahko uporabljena identiteta naredi z datotekami |
IIS podpira različne načine avtentikacije:
- Anonymous Authentication: obiskovalcu se ni treba prijaviti.
- Windows Authentication: uporablja identiteto Windows.
- Basic Authentication: uporabniško ime in geslo; uporablja se prek HTTPS.
- Client Certificate Authentication: preverjanje s certifikatom odjemalca.
Pri anonimnem dostopu IIS še vedno uporablja določeno identiteto za dostop do datotek.
Za statično spletno mesto običajno zadostuje bralni dostop. Če aplikacija shranjuje datoteke, omogoči pisanje v namensko mapo. Poleg dovoljenj skrbi za posodobitve, HTTPS, omejen administrativni dostop in spremljanje dnevnikov.
8. Najpogostejše napake IIS
| Koda | Pomen | Kaj preveriš |
|---|---|---|
| 200 | Zahteva je uspela | Vsebino odgovora |
| 301 | Trajna preusmeritev | Ciljni naslov |
| 401 | Manjka ustrezna avtentikacija | Prijavo in nastavitve avtentikacije |
| 403 | Dostop je zavrnjen | Pravila in podstatus napake |
| 404 | Vir ni najden | URL, datoteke in usmerjanje |
| 500 | Napaka na strežniku | Konfiguracijo in aplikacijo |
| 503 | Storitev ni na voljo | Aplikacijski bazen in procese |
403.14 pogosto pomeni, da ni ustreznega začetnega dokumenta, prikaz vsebine mape pa je izključen. Preveri index.html in Default Document.
500.19 pogosto kaže na težavo s konfiguracijo, na primer z datoteko web.config, zaklenjenim razdelkom ali manjkajočo komponento.
Pri 503 preveri aplikacijski bazen. Če se po zagonu spet ustavi, poišči vzrok v dnevnikih.
Pri odpravljanju težav preverjaj po vrsti:
- Dostop neposredno na strežniku.
- Stanje spletnega mesta in bazena.
- Binding.
- Fizično pot in datoteke.
- Dovoljenja.
- Dnevnike.
Dnevniki zahtev so običajno v C:\inetpub\logs\LogFiles. Pomagajo tudi Event Viewer, aplikacijski dnevniki in Failed Request Tracing.
9. Kaj moraš znati za praktično delo?
Samostojno moraš znati:
- Namestiti IIS in odpreti IIS Manager.
- Ustvariti spletno mesto.
- Nastaviti aplikacijski bazen in binding.
- Urediti dostop do datotek.
- Objaviti in preveriti spletno stran.
- Povezati domensko ime s strežnikom.
- Nastaviti HTTPS.
- Poiskati vzrok napake v dnevnikih.
Uporabna ukaza za osnovno preverjanje:
# Stanje spletne storitve IIS
Get-Service W3SVC
# Dosegljivost vrat 8080 na lokalnem računalniku
Test-NetConnection localhost -Port 8080
Vprašanja za ponavljanje:
- Kakšna je razlika med Website, Application Pool in Binding?
- Kako lahko dve spletni mesti uporabljata ista vrata 80?
- Zakaj stran deluje na strežniku, z drugega računalnika pa ne?
- Kaj preveriš pri napaki 403.14?
- Zakaj potrebuješ tako DNS kot binding?
- Kakšna je razlika med avtentikacijo in avtorizacijo?
Praktična vaja: objavi svojo stran na vratih 8080, preveri dostop z drugega računalnika in razloži vlogo fizične poti, bindinga, aplikacijskega bazena ter dovoljenj.
- Učitelj: Alen Andrlič
- Učitelj: Edi Medvešček

- Učitelj: Alen Andrlič
- Učitelj: Ksenija Korošec
- Učitelj: Edi Medvešček
- Učitelj: Edi Medvešček

- Učitelj: Aljaž Gec
- Učitelj: Edvard IPAVEC
- Učitelj: Ksenija Korošec
- Učitelj: Lara Marušič
- Učitelj: Tomaž MAVRI