Professional Documents
Culture Documents
Microsofts
Next Generation
Web Server
dotcore.pjwstk.edu.pl
Wprowadzenie do IIS7
Architektura
Protocol Listeners
1.Web Server
Gwna funkcjonalno serwera internetowego, zaznaczana
automatycznie. Wszystkie serwerowe opcje s elementami
tego gwnego wza.
4.Security
Zaznaczane automatycznie. Zestaw opcji pozwalajcych na
dostosowanie metod, ktrymi klient moe potwierdzi swoj
tosamo.
Basic Authentication. Raczej wyczy. Wczy, jeeli do czci
stron dostp maj mie tylko wybrani uytkownicy a inne metody
nie dziaaj. Ta metoda autentykacji jest dostpna w kadej
przegldarce, jednak jej wad jest stosunkowo prosta moliwo
podsuchania hase.
Windows Authentication. Raczej wyczy. Wczy, jeeli do
czci stron dostp maj mie tylko wybrani uytkownicy z lokalnej
sieci LAN. Metoda autentykacji opiera si na uwierzytelnianiu
systemu. Dziki temu, uytkownik zalogowany do domeny
automatycznie moe si przedstawi serwerowi.
Digest Authentication. Wczy, chyba e wszystkie strony na
serwerze WWW przeznaczone s dla caego wiata. Jeeli jest
konieczne uwierzytelnianie uytkownikw, to opcja wydaje si
najbezpieczniejsza.
4.Security
5.Performance
Zaznaczane automatycznie. Zestaw dwch opcji
zwizanych z kompresj przesyanych danych.
Static Content Compression. Wczy. Opcja powoduje,
e odwiedzana strona jest kompresowana, zapisywana w
skompresowanej postaci i od tej pory w takiej wanie
postaci wysyana do klienta. Dziki temu, znaczco
zmniejsza si obcienie cza.
Dynamic Content Compression. Wyczy. Analogiczna
jak dla Static Content Compression moliwo kompresji
stron, jednak dla zawartoci dynamicznej. Zastosowanie
tej opcji powoduje, e kada odwiedzana strona, za
kadym razem jest kompresowana przed wysaniem do
klienta, co znaczco obcia procesor. Ponadto, niniejszy
artyku opisuje serwer stron statycznych, przez co opcja
Dynamic Content Compression nie ma zastosowania.
6.Management Tools.
Zaznaczane automatycznie. Zestaw opcji zwizanych
z narzdziami administracyjnymi IIS.
IIS Management Console. Wczy. Opcja odpowiada
za instalacji konsoli zarzdzajcej serwerem IIS7.
IIS Management Script and Tools. Wczy.
Narzdzia administracyjne obsugiwane z linii
polece. Nawet, jeeli nie s potrzebne od razu, to
nigdy nie wiadomo, kiedy mog si przyda.
Management Service. Wyczy. Wczy tylko w
sytuacji, gdy serwerem administruje rwnoczenie
wiele osb, kada odpowiadajca tylko za swj
serwer wirtualny.
Konfiguracja IIS7
Konfiguracja IIS7
Jak si atwo domyli, w menu Start znajduj
si narzdzia administracyjne, wybrane
podczas instalacji. Podstawowym narzdziem
jest Internet Information Server (IIS) Manager.
Po uruchomieniu z lewej strony konsoli
wywietlana jest struktura w postaci drzewa.
Wybierajc elementy drzewa, zarzdza
mona rnymi funkcjonalnociami serwera.
IIS7 Manager
Best Practices
Poziom serwera
Z poziomu zarzdzania caym serwerem, uytkownik ma do
dyspozycji opcje start, stop oraz restart. Uruchamiaj one i
zatrzymuj cay serwer HTTP. Oczywiste jest, e zatrzymany
serwer nie udostpnia w sieci stron WWW.
Authentication
Opcje dostpne w tym widoku zale bezporednio od wybranych
w czasie instalacji metod uwierzytelniania. Oprcz sugerowanej
metody Digest, pojawia si metoda Anonymous Authentication.
W przypadku metody Digest dostpne jest okno konfiguracyjne, w
ktrym mona zmieni parametr Realm. Warto tego parametru
wywietlana jest uytkownikowi razem z pytaniem o haso i
zawiera powinna jaki czytelny opis serwera lub strony.
W przypadku metody Anonymous, najwaniejszym parametrem
jest nazwa konta, ktrym IIS si posuguje, odczytujc strony z
dysku. Domylnie, warto parametru jest rwna IUSR i to ta grupa
musi mie prawa odczytu do katalogw, w ktrych znajduj si pliki
html.
Compression
Default Document
Poniewa uytkownik woli wpisywa w przegldarce adres serwera zamiast
penej cieki do dokumentu, serwer musi wiedzie, jak stron ma wysa do
przegldarki w sytuacji, kiedy uytkownik nie poprosi o adn konkretn. Dane
domylnej strony ustawiane s wanie w sekcji Default Document.
Dla kadego wirtualnego katalogu (o czym dalej) moliwe jest zdefiniowanie listy
domylnych dokumentw. Lista ta przetwarzana jest od pierwszej do ostatniej
pozycji. Jeeli dokument wymieniony na licie istnieje na serwerze jest wysyany
do klienta. Jeeli nie istnieje przetwarzany jest kolejny wpis na licie. Jeeli wpis
nie zosta znaleziony, sprawdzane jest zezwolenie na przegldanie katalogu, a
jeeli przegldanie rwnie nie jest moliwe wysyany jest kod bdu mwicy,
e tego katalogu nie wolno przeglda.
Poprzez interfejs IIS Manager moliwa jest zmiana kolejnoci dokumentw
domylnych, ich dodawanie i usuwanie. Dostpna w sekcji Actions opcja
Disable w ogle wycza funkcjonalno domylnego dokumentu dla danego
katalogu wirtualnego.
W praktyce bardzo rzadko zdarza si, eby waciciel stron WWW nie chcia
publikowa domylnego dokumentu. Poniewa przyjte standardy okrelaj kilka
zwyczajowo stosowanych nazw, najlepszym rozwizaniem wydaje si
umieszczenie caej listy typowych nazw dokumentw, co w IIS jest ustawione
domylnie. W takiej sytuacji, kady katalog ma szans wywietla poprawnie swj
domylny dokument.
Directory Browsing
Opcja Directory Browsing odpowiada za uprawnienia do przegldania katalogw
serwera. Moe zdarzy si, e dziaanie takie bdzie potrzebne. Naley jednak
przyj, e jest to sytuacja wyjtkowa. Dlatego na poziomie serwera naley
wyczy przegldanie katalogw i lokalnie, w konkretnych katalogach wcza
tylko wtedy, kiedy jest to potrzebne. Wczenie tej opcji sprawia, e uytkownik
serwera widzi znajdujce si na nim pliki zamiast stron internetowych.
Error Pages
Protok HTTP okrela, e dla kadego zapytania od klienta, w
odpowiedzi zwracanej z serwera powinien si znale kod liczbowy
mwicy, jakiego rodzaju jest to odpowied. W normalnych warunkach
kod ten ma numer 200 i oznacza, e wszystko poszo dobrze. Istniej
jednak sytuacje, kiedy serwer nie moe odpowiedzie na danie
klienta. W takim przypadku, to wanie kod bdu informuje o tym, co
naprawd si wydarzyo.
Kody bdw s ustandaryzowane i opisane w dokumencie RFC 2616,
sekcja 10. "Status Code Definitions. W przypadku bdu, serwer moe
zamiast samego kodu wysa rwnie jakie dane.
Przykadowo, bd 404 mwi klientowi, e na serwerze nie ma tej
strony, o ktr zapyta. Zamiast posa samo 404 i liczy, e
przegldarka zrozumie komunikat, serwer moe na przykad wywietli
stron, na ktrej bdzie opisana struktura portalu, dziki czemu klient
atwo trafi tam, gdzie chcia.
Error Pages
Administrator ma nastpujce moliwoci:
Handler Mappings
Opcja ta odpowiada za specjaln obsug niektrych
zapyta. W przypadku standardowego serwera
udostpniajcego strony WWW najpraktyczniejszym
podejciem jest pozostawienie wszelkich ustawie z
wartociami domylnymi.
HTTP Redirect
Opcja pozwalajca na odesanie klientowi kodu (301,302
lub 307) mwicego, e danej zawartoci naley
poszuka gdzie indziej. Przekierowanie dla caego
serwera zazwyczaj mija si z celem, ale dla
poszczeglnych katalogw czasem trzeba je zdefiniowa.
Klient wchodzcy na dan stron zostanie automatycznie
skierowany w miejsce okrelone przez administratora IIS.
Logging
Logowanie zapyta jest jedn z najwaniejszych rzeczy w dobrze skonfigurowanym
serwerze. Nawet, jeeli logi nie wydaj si dzisiaj potrzebne, na pewno w przyszoci
zdarzy si tak, e trzeba bdzie do nich sign.
Opcje dostpne po wczeniu logowania przez administratora:
Poziom logowania (One log file per). Log mona zbiera jeden dla caego serwera IIS lub
oddzielnie dla kadego serwera wirtualnego (o czym dalej). Domylne ustawienie zakada,
e kady serwer wirtualny ma oddzielny log i wydaje si to sensowne.
Format logu. Najbardziej typowym formatem jest W3C czyli format, z ktrym zgodne s
praktycznie wszystkie serwery internetowe, niezalenie od tego czy pochodz z Microsoft,
czy nie. Przy pomocy przycisku Select Fields wybra mona, ktre parametry dania s
zapisywane w pliku logu a ktre nie.
Katalog. Miejsce, w ktrym zapisywane s logi.
Kodowanie znakw narodowych. Domylna opcja UTF-8 jest mniej uniwersalna, ale na
pewno pozwoli na zapisanie kadego znaku narodowego z chiskimi i japoskimi wcznie.
Sposb tworzenia nowego pliku (rotacja). Opcja ta wskazuje, jak czsto ma by tworzony
nowy plik z logami. Dostpne wartoci to: co godzin, codziennie, co tydzie i co miesic.
Ponadto, nowy plik mona zakada wtedy, gdy stary osignie zaoony rozmiar (minimum
1048576 bajtw) lub cay czas zapisywa log do jednego pliku.
Ostatnia opcja okrela kiedy jest koniec dnia i nadesza pora na zaoenie nowego pliku.
Czy jest to o pnocy lokalnego czasu czy czasu UTC.
Logging
Ustawiajc parametry logowania, nie wolno zapomnie o
dwch istotnych faktach:
Logi serwera WWW nie s mae. Miesic dziaania rednio odwiedzanego serwera to 300MB. Rok
prawie 4GB. Jeeli serwer obsuguje wiele serwerw wirtualnych, nietrudno wyobrazi sobie, e po prostu
zabraknie na nie miejsca. I tu pojawia si problem, poniewa logi serwera IIS7, domylnie znajduj si na
dysku systemowym. A jeeli systemowi zabraknie miejsca na dysku, to skutki mog by bardzo smutne.
Remedium moe by albo umieszczenie logw na dedykowanym dysku albo stworzenie automatu (na
przykad opartego na Task Scheduler), ktry stare logi bdzie archiwizowa i usuwa.
W logach serwera WWW zapisywany jest czas. Czas ten nie jest czasem lokalnym! To czas uniwersalny
czyli UTC, przesunity o godzin w stosunku do polskiego. Jeeli odwoanie do strony miao miejsce w
poudnie czasu polskiego, to w logach zostanie zapisana godzina 11:00. Naley o tym pamita.
Mime Types
Tabela typw plikw informuje serwer jaki nagwek ma
wysa w przypadku dania pliku z danym rozszerzeniem.
Na podstawie tego nagwka przegldarka wie, co z plikiem
zrobi. Zasadniczo, naley przyj, e pki administrator
nie jest pewny tego, co robi, opcje te powinien omija.
Szczeglnym przypadkiem s pliki, ktrych rozszerzenie
nie pojawia si na licie. W takiej sytuacji moliwe jest, e
serwer odpowie, e dany plik nie istnieje.
Modules
W sekcji tej wymienione s zaadowane przez IIS moduy.
To wanie te moduy obsuguj zapytania do serwera i ich
lista zaley od wybranych podczas instalacji opcji. Dopki
kto nie jest w stu procentach pewny, co robi, to list t
powinien traktowa jako informacj przeznaczon tylko do
odczytu i zbyt gboko w niej nie grzeba.
Output Caching
Buforowanie danych wyjciowych ma na celu przyspieszenie
ich wysyania do klienta HTTP. W IIS Manager definiowa
mona jakie parametry ma mie buforowania dla kadego typu
plikw oddzielnie. Oczywicie, zdefiniowa daje si rwnie
domylna polityka buforowania.
Warto wiedzie, e dla buforowania mona ustawia polityki typu:
Buforuj dopki zawarto nie zostanie zmieniona;
Buforuj na zadany czas;
Nie buforuj.
W praktyce, eksperymenty z buforowaniem warto prowadzi
tylko tam, gdzie wszystko inne dziaa ju perfekcyjnie i
wydajno serwera (nie cza!) nie jest zadowalajca.
Certificates
Sekcja Certificates suy do zarzdzania certyfikatami, ktrych serwer IIS7 uywa do
szyfrowania ruchu SSL (HTTPS).
Kady certyfikat ma kilka istotnych pl:
Name (nazwa). Pole okrela nazw certyfikatu, ktra pomaga administratorowi w
zarzdzaniu.
Issued To (wydany dla). Pole podaje nazw serwera, dla ktrego certyfikat zosta
wydany. Nazwa ta zaszyta jest wewntrz certyfikatu i nie moe zosta zmieniona. Jeeli
serwer WWW udostpnia strony szyfrujc je certyfikatem, ktrego nazwa nie jest
zgodna z nazw serwera, uytkownik zobaczy w ekranie przegldarki komunikat o
potencjalnym zagroeniu.
Issued By (wydany przez). Okrela nazw podmiotu, ktry wyda certyfikat. Jeeli
podmiot nie jest zaufany przez przegldark klienta, zobaczy on na ekranie komunikat
o potencjalnym zagroeniu.
Expiration Date (data wyganicia). Definiuje termin przydatnoci certyfikatu do uycia.
Wprawdzie po tym terminie certyfikat dziaa i transmisja jest szyfrowana, jednak
uytkownik zobaczy w ekranie przegldarki komunikat o potencjalnym zagroeniu.
Certificate Hash (wynik funkcji skrtu). Niedugi cig znakw, ktry zmienia si
cakowicie nawet przy najdrobniejszej modyfikacji certyfikatu. Dziki skrtowi mona
prosto porwna czy dwa pozornie identyczne certyfikaty s naprawd tym samym czy
jednak si rni midzy sob.
Certificates
Zasadniczo, serwer IIS7 moe pozyska certyfikaty SSL z czterech rde:
Z pliku w formacie PFX. Plik taki chroniony jest zazwyczaj hasem i jest to
opcja najczciej stosowana, kiedy kto ju certyfikat posiada. Podczas
importu dostpna jest opcja Allow this certificate to be exported ktra
pozwala na wykonanie kolejnych kopi takiego certyfikatu.
Poprzez opcj Create Self Signed Certificate. Certyfikat generowany jest
natychmiast, ma roczn wano a nazwa w certyfikacie jest taka sama jak
nazwa FQDN serwera.
Poprzez Online Certification Authority. W ten sposb mona utworzy
certyfikat dla caej domeny i pniej atwo przyznawa go poszczeglnym
hostom. Wymaga to jednak dziaajcego w sieci CA.
Poprzez Certificate Request. Sposb ten jest najczciej stosowany, jeeli
potrzebny jest certyfikat do zastosowania w Internecie. Procedura skada si z
kilku krokw: najpierw naley przy pomocy linku Create Certificate Request
wygenerowa plik z daniem certyfikatu i zapisa go w pliku na dysku. Plik
ten naley przesa do Certification Authority. CA generuje na podstawie pliku
certyfikat i odsya go do dajcego. Plik z certyfikatem naley zapisa na
serwerze i wgra go do IIS7 poprzez uycie opcji Complete Certification
Request.
Worker Process
Opjca SSL
Opcja ta dostpna jest jedynie w ustawieniach wirtualnych serwerw i
katalogw. Nie jest dostpna dla caego serwera IIS7. Zaznaczenie checkboxu
oznacza, e dla danego obiektu dozwolony bdzie jedynie dostp przez
HTTPS. Aby opcja bya aktywna, obiekt musi by wczeniej skonfigurowany tak,
eby istniao powizanie (binding) z HTTPS.
Serwery i katalogi wirtualne
Aby zrozumie dziaanie serwera IIS7, konieczna jest wiedza na temat tego, jak
wyglda wewntrz jego struktura. W IIS7 ma ona trzy poziomy:
Serwer IIS;
Serwer wirtualny
Serwer wirtualny (zwany czsto site) jest przez uytkownikw z sieci widziany jako
samodzielny serwer WWW. Na pierwszy rzut oka wcale nie wida, e kilka adresw WWW
dziaa na tym samym komputerze. Kady ma swj adres, swoj stron domyln, swoje
ustawienia itp. Warto zastanowi si, jak to moliwe, e na jednym komputerze dostpne s
serwery pod wieloma nazwami. Jest to moliwe na trzy rne sposoby:
Serwer IIS7 ma wiele adresw IP i kady serwer wirtualny ma przydzielony swj adres. Dziki
temu danie strony, przychodzc do IIS7, kierowane jest do waciwego serwera wirtualnego,
ktry je obsuguje. Rozwizanie to wymaga wielu adresw IP przypisanych do serwera. Przez
to w sieci Internet sprawdza si do sabo, natomiast wietnie dziaa w serwerach
udostpniajcych strony tylko dla sieci LAN.
Serwer IIS7 nie ma tylu adresw IP, ile ma serwerw wirtualnych, ale kady serwer wirtualny
dziaa na wasnym porcie TCP/IP. W efekcie strony maj adresy http://mojastrona.pl:1234/ itp.
W sieci LAN dziaa to poprawnie, ale w Internecie wielu klientw nie bdzie mogo skorzysta
ze strony ze wzgldu na filtrowanie ruchu przez rozmaite firewalle. Poza tym, adres taki jest
mniej elegancki, a jak kto zapomni poda numer portu, to trafi na zupenie inny serwer
wirtualny i w efekcie inne strony.
Serwer IIS7 ma jeden adres IP a wszystkie serwery wirtualne uywaj portu 80. Rozwizanie
takie uywa tzw. host headers. Przegldarka internetowa, komunikujc si z serwerem WWW,
poza pytaniem o stron wysya dane na temat tego, z jakim serwerem chciaaby si poczy.
Serwer IIS7 wykrywa takie danie i kieruje je do tego serwera, ktry ma przypisany
odpowiedni host header. Ten sposb jest w chwili obecnej najczciej spotykany w Internecie.
W sieci LAN rwnie dziaa to bardzo dobrze.
Serwer wirtualny
Aby utworzy nowy serwer wirtualny, naley z menu kontekstowego
serwera wybra opcj Add Web Site.
W oknie konfiguracyjnym naley wypeni odpowiednie pola:
Site name oznacza nazw wirtualnego serwera. Tak, jak chce j widzie
administrator IIS7, eby atwo pozna, ktry to site. Mj serwer testowy
albo serwer dla uciliwych klientw s nazwami jak najbardziej
akceptowalnymi, poniewa klient w przegldarce nie widzi tej nazwy.
Application pool i przycisk Select nie maj praktycznie zastosowania w
przypadku statycznych stron WWW.
Physical Path (cieka fizyczna) oznacza lokalizacj, w ktrej na dysku
komputera znajduj si pliki *.html majce by serwowane jako strony
WWW.
Connect as pozwala na wybranie konta, ktrym posuy si IIS7, eby
odczyta pliki z dysku. W normalnych warunkach, do czasu naprawd
dobrego poznania zaoe bezpieczestwa w systemach Windows,
najlepiej pozostawi tam warto domyln.
Serwer wirtualny
Wirtualny Katalog
W ramach jednego serwera wirtualnego moliwe jest utworzenie katalogw wirtualnych.
Katalog taki, to cz przekazywana w zapytaniu HTTP do serwera po nazwie hosta.
Przykadowo, w zapytaniu http://mojeforum.firma.pl/admin - parametr admin definiuje
katalog wirtualny. Katalog moe wskazywa na inn ciek fizyczn ni wirtualny serwer
oraz mie inny sposb uwierzytelniania.
Warto te przyzwyczai si, do traktowania serwera wirtualnego jako katalogu wirtualnego
o pustej nazwie, zlokalizowanego na tym serwerze. Aby utworzy katalog wirtualny, z
menu kontekstowego wirtualnego serwera naley wybra Add Virtual Directory i w
wywietlonym oknie dialogowym poda nazw i ciek fizyczn. Dodatkowo, zmieni
mona parametry uwierzytelniania.
Naley wiedzie, e jeeli nie jest potrzebna inna cieka fizyczna, inny sposb
uwierzytelniania, ani inne pozostae parametry nie rni si od parametrw serwera
wirtualnego tworzenie wirtualnego katalogu nie jest niezbdne. W takiej sytuacji, lepiej w
folderze zawierajcym pliki *.html utworzy podfolder i w nim umieci zasoby. Z punktu
widzenia uytkownika przegldarki, nie wida rnicy czy wyspecyfikowana w URL cieka
odwouje si do faktycznie istniejcych na dysku katalogw, czy do katalogw wirtualnych.
Linki