November 30, 2021
  • 6:27 am WWW-sivun vektorigrafiikan tallentaminen kuvatiedostoksi
  • 3:26 pm Windows Terminal – Microsoft 365 -hallinnan helpottaminen PowerShell-profiilein
  • 11:10 pm Microsoft 365 – Salasanan resetointi itsepalveluna (SSPR)
  • 9:12 pm Exchange Online – Roskapostin estäminen top-level domainin (TLD) perusteella
  • 11:26 pm Windows 10 – Fiddler Web Debugger Proxyn asennus ja käyttöönotto

Tämä on jatkoa raportille:
https://markuspyharanta.wordpress.com/2017/05/14/azure-windows-server-vituaalipalvelin/

Webpalvelimen (IIS) asennus ja konfigurointi

Halusin hostata omaa verkkosivua Windows Server 2012 R2 palvelimeltani. IIS eli Internet Information Services on Microsoftin oma webpalvelinohjelmistokokonaisuus Windows-palvelintietokoneille. Vaikka avoimeen lähdekoodin perustuva Apache onkin paljon suositumpi webpalvelinohjelmisto, on Microsoftin IIS silti melko tunnettu varsinkin yritysjärjestelmissä.
IIS:n asennus tapahtui Server Managerista > Add roles and features
iis
Installation Type-kohtaan laitoin Role-based or feature-base installation. Seuraavassa välilehdessä täppä kohtaan Select a server from the server pool, jonka jälkeen valitsin sen alapuolelta oman palvelimeni. Server Roles-välilehdeltä valitsin haluamani palvelinroolit. Tässä vaiheessa otin oletusten lisäksi vain Web Serverin (IIS).
iis2
Tästä seurasi pongahdusikkuna, jossa painoin Add Features.
Sen jälkeen pystyi seuraavalta välilehdeltä halutessaan valita lisäominaisuuksia, kuten .NET Frameworkeja tai BitLocker levysalauksen. Itse en tarvinnut muuta, joten menin suoraan eteenpäin.
Alla nyt kaikki asennettavat roolit ja palvelut. Seuraavalla välilehdellä voi vielä tarkistaa, että kaikki on oikein, jonka jälkeen > Install.
iis3
Asennuksessa meni hetki, jonka jälkeen IIS oli asennettu. Server Manageriin oli nyt ilmestynyt Internet Information Services (IIS) Manager, jossa pystyin nyt konfiguroimaan webpalvelimen haluamallani tavalla.
iis4
Nyt, kun menin selaimella localhost-osoitteeseen, niin sain IIS:n oletusnäkymän. Webpalvelin oli siis asentunut oikein.
iis5

Staattinen sivu IIS:lle

Koska haluan pystyä hostaamaan sivuja muutenkin kuin paikallisesti palvelimella, minun tuli lisätä staattinen sivu webpalvelimelle. IIS Managerista palvelimen alta > Sites > Add Website.
iis5
Annoin sivulle nimen ja määritin fyysisen polun sivutiedostoihin. IIS:n oletussivu löytyy hakemistosta C:\inetpub\wwwroot. Hakemiston voi korvata haluamallaan, mutta itse pidin sen samana. Korvaan myöhemmin sitten IIS:n oletussivun omalla index.html-tiedostollani. Bindingin alle Type kohtaan http ja portiksi 80. IP-osoite kohtaan All Unassigned. Host-nimeä en vielä tässä vaiheessa määritellyt.
iss6
Seuraavaksi määrittelin IIS Managerista käyttäjän todennuksen > Authentication.
Käyttäjän anonyymi todennus toimii oletuksena IIS:ssä. Tällöin käyttäjillä on pääsy verkkosivun julkisille alueille ilman, että heiltä pyydetään salasanaa. Identiteetiksi laitoin Specific user ja vaihdoin oletus käyttäjän IUSR omaan käyttäjätunnukseeni. Tämä siksi, etten halua antaa anonyymeille käyttäjille pääsyä sisäiseen verkkooni, vaan webpalvelimen sisältö tarjoillaan omien tunnuksieni kautta käyttäjälle.
iis7 – kopio
Lisäksi määrittelin default-dokumentiksi index.html. Tämä tapahtui IIS Managerista > Default Document. Client-tietokoneelta yhdistettäessä ei yleensä sisällytetä domain-nimeen tiedoston nimeä. IIS etsii kotisivun default-dokumentin perusteella. Oletuksena tämä on IIS:ssä Default.htm, mutta siirsin index.html:n listajärjestyksessä ylimmäksi.
iis8 – kopio
Viimeisenä konfigurointivaiheena asetin valinnaisena asetuksena sivulle ns. Static Content Compressionin. Käytännössä tällä voidaan pakata staattinen sisältö käyttämään bandwith:iä tehokkaammin, ja siten myös teoriassa sivun latautumisajat pienenee. Tämä onnistui seuraavasti:
IIS Managerista > Compression > Enable static content compression > Apply
Lopuksi poistin C:\inetpub\wwwroot hakemistosta IIS:n oletussivun ja tein sen tilalle simppelin index.html tiedoston muistiolla. Kävin myös tarkistamassa, että Windows Serverin oma palomuuriohjelma ei estä sisääntulevaa liikennettä portista 80. Oletuksena tämä oli sallittu.

Azure Network Security Group säännöt

Palomuurin/reitittimen tulee sallia käyttäjien pääsy webpalvelimen sisältöön julkisesta verkosta. Miten se tapahtuu riippuu toteutuksestasi. Itse ylläpidän palvelintani Microsoft Azuressa.
Jotta IIS-palvelimen sisältöön pääsi käsiksi Azuren ulkopuolelta, tuli minun sallia sisääntuleva liikenne porttiin 80 Network Security Groupin asetuksista. Tämä tapahtuu Azure-portalista All Resources > Network security group > Inbound security rules > Add. Azuren Network Security Group hallinnoin sisääntulevaa ja ulosmenevää liikennettä virtuaalikoneelle palomuurin tavoin. Annoin uudelle säännölle seuraavat määritykset:
iis9 – kopio
Hetken päästä uusi sääntö tuli voimaan, kuten alla olevasta kuvasta näkyykin. Sisäänpäin suuntautuva liikenne webpalvelimelle on nyt sallittu porttia 80 käyttäen.
vmfm – kopio
Nyt jos surfaan omalta kotikoneeltani palvelimeni julkiseen IP-osoitteeseen, niin näen selaimessa tekemäni testisivun.
testisivu – kopio


Lähteet:

Atlantic 2015. Install IIS on Windows Server 2012 R2. URL: https://www.atlantic.net/community/howto/install-iis-on-windows-server-2012-r2/
Atlantic 2015. Build a Static Website on IIS Using Windows Server 2012. URL: https://www.atlantic.net/community/howto/build-static-website-on-iis/
Technet Microsoft 2011. Configure the Anonymous Authentication Identity (IIS 7). URL: https://technet.microsoft.com/fi-fi/library/cc770966(v=ws.10).aspx
Wikipedia 2015. Internet Information Services. URL: https://fi.wikipedia.org/wiki/Internet_Information_Services
Azure Blogger 2015. Understanding Firewall Options in Microsoft Azure. URL: http://azureblogger.com/2015/08/understanding-firewall-options-in-microsoft-azure/


TÄTÄ DOKUMENTTIA SAA KOPIOIDA JA MUOKATA GNU GENERAL PUBLIC LICENSE (VERSIO 3 TAI UUDEMPI) MUKAISESTI. HTTP://WWW.GNU.ORG/LICENSES/GPL.HTML
MARKUS PYHÄRANTA
Markus Pyhäranta

RELATED ARTICLES