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.

Izvirni diagram: uporabnik, IIS in spletna stran

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:

  1. Brskalnik ugotovi IP-naslov strežnika.
  2. Vzpostavi povezavo na ustrezna vrata.
  3. Pri HTTPS vzpostavi zaščiteno povezavo TLS.
  4. Pošlje zahtevo za vsebino.
  5. IIS vrne datoteko ali zahtevo preda aplikaciji.
  6. 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.

Izvirna slika iz vodiča: funkcije sistema Windows

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.
Izvirna slika iz vodiča: izbira komponent IIS

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.

Izvirna slika iz vodiča: 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:

powershell
Install-WindowsFeature -Name Web-Server -IncludeManagementTools

Za odpiranje IIS Managerja v okno Win + R vpiši:

text
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.

Izvirni diagram: ločena aplikacijska bazena

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:

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:

text
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:

  1. Dostop neposredno na strežniku.
  2. Stanje spletnega mesta in bazena.
  3. Binding.
  4. Fizično pot in datoteke.
  5. Dovoljenja.
  6. 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:

powershell
# Stanje spletne storitve IIS
Get-Service W3SVC

# Dosegljivost vrat 8080 na lokalnem računalniku
Test-NetConnection localhost -Port 8080

Vprašanja za ponavljanje:

  1. Kakšna je razlika med Website, Application Pool in Binding?
  2. Kako lahko dve spletni mesti uporabljata ista vrata 80?
  3. Zakaj stran deluje na strežniku, z drugega računalnika pa ne?
  4. Kaj preveriš pri napaki 403.14?
  5. Zakaj potrebuješ tako DNS kot binding?
  6. 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.