Apache HTTP-palvelimeen liittyvä sanasto
Apache HTTP-palvelimen sekä yleisemmin verkkopalvelinten ja webhotellien ympärillä käytetään paljon käsitteitä, jotka voivat olla uusia jopa kokeneille web-kehittäjille. Tämä artikkeli selittää tiiviisti tärkeimmät termit ja auttaa jäsentämään kokonaisuutta.
Mikä on domain/verkkotunnus?
Domain, eli verkkotunnus, on internetissä käytettävä nimiavaruuden tunniste. Sen tehtävänä on tarjota ihmiselle helppo ja muistettava tapa viitata palveluun tai resurssiin, joka verkon tasolla yksilöidään IP-osoitteella.
Domain muodostuu nimiosasta ja päätteestä. Esimerkiksi tämän verkkosivuston nimiosa on "2kmediat" ja pääte ".com" (commercial). Nimiosan alussa oleva "www" on optionaalisesti käytettävä alidomain.
Kun käyttäjä syöttää domainin selaimeen, nimi käsitellään DNS-järjestelmässä, joka suorittaa kyselyn ja palauttaa domain-nimeä vastaavan IP-osoitteen. Tämän jälkeen liikenne ohjataan oikealle palvelimelle, jossa verkkosivusto tai muu palvelu sijaitsee.
Yhden domainin alaisuuteen voidaan liittää useita resursseja, kuten HTTP-palvelin, sähköpostipalvelin ja erilaisia alidomaineihin jaettuja palvelukokonaisuuksia.
Domain rekisteröidään akkreditoidun domainvälittäjän kautta. Välittäjät tarjoavat usein myös webhotelli- ja sähköpostipalveluita. Joitakin ylätason verkkotunnuksia, kuten Suomen .fi-tunnuksia, hallinnoivat kansalliset viranomaiset tai niihin valtuutetut tahot. Rekisteröinti on yleensä määräaikainen ja perustuu vuosimaksuun, jonka suuruus riippuu tunnuspäätteestä ja valitusta palveluntarjoajasta.
Mikä on nimipalvelu/DNS?
DNS eli nimipalvelu (Domain Name System) on hajautettu hakemistopalvelu, joka kääntää domain-nimet (esim. www.google.com) palvelimen IP-osoitteeksi(esim. 172.217.160.142), jonka avulla verkkopalvelut voivat vastaanottaa liikennettä.. Nimipalvelu voi toimia myös käänteisesti PTR-tietueiden avulla, jolloin IP-osoitteesta voidaan selvittää sitä vastaava domain.
Verkkopalvelun DNS-tiedot koostuvat tietueista, jotka määrittelevät, miten verkkotunnus ohjautuu eri palveluihin, kuten verkkosivustoille ja sähköpostille. Yleisimpiä tietueita ovat:
- A-tietue:
- Ohjaa verkkotunnuksen oikeaan IPv4-osoitteeseen.
- AAAA-tietue:
- Ohjaa verkkotunnuksen oikeaan IPv6-osoitteeseen.
- CNAME-tietue:
- Luo aliasin toiselle verkkotunnukselle. Sitä käytetään yleisesti esimerkiksi ohjaamaan www.esimerkki.fi osoitteeseen esimerkki.fi.
- MX-tietue:
- Määrittää sähköpostipalvelimen, jonne verkkotunnuksen sähköpostit toimitetaan.
- TXT-tietue:
- Käytetään tallentamaan vapaamuotoista tekstiä, joka on usein tarpeen erilaisten palveluiden, kuten sähköpostin toimitettavuuden varmistamiseksi (esim. SPF, DKIM, DMARC) tai verkkotunnuksen omistajuuden todentamiseksi.
Verkkotunnukseen liitettyjä DNS-tietoja hallitaan verkkotunnuksen välittäjän tarjoamassa hallintapaneelissa.
Mikä on SSL-sertifikaatti?
SSL-sertifikaatti on digitaalinen varmenne, joka todentaa verkkosivuston identiteetin ja varmistaa, että sivusto on se, mikä se väittää olevansa. Lisäksi SSL salaa asiakas- ja palvelinvälistä liikennettä, mikä suojaa tietoja mahdollisilta sieppauksilta ja salakuuntelulta.
Suojatun yhteyden tunnistaa verkko-osoitteen edessä olevasta "https"-tunnisteesta. Jos sivustoon ei ole liitetty SSL-sertifikaattia, selaimet näyttävät tietoturvavaroituksia. Tästä syystä jokaisella verkkopalvelulla tulisi olla yksi tai useampi siihen liitetty SSL-sertifikaatti.
SSL-sertifikaatin voi hankkia ilmaiseksi esimerkiksi Let's Encrypt -palvelusta, tai vaihtoehtoisesti palveluntarjoajat tarjoavat eri tasoisia sertifikaatteja maksullisina. Sertifikaatti muodostaa varmenneketjun, johon kuuluvat itse sivuston varmenne, sen myöntänyt palvelin sekä ylävarmentaja (Certificate Authority, CA), jonka allekirjoituksen selaimet tunnistavat luotettavaksi. Tästä syystä perinteistä SSL-sertifikaattia ei voi luoda yksityisesti ilman julkista verkkoyhteyttä.
Kehityskäyttöön on mahdollista luoda nk. itse allekirjoitettuja varmenteita (self-signed certificate). Nämä tarjoavat samanlaisen tietoturvan tason kuin varsinainen SSL, mutta toimivat vain paikallisesti.
Apache-palvelimella SSL/TLS-yhteydet toteutetaan tyypillisesti mod_ssl-moduulin avulla. Tämä moduuli mahdollistaa HTTPS-yhteydet ja varmenteiden liittämisen Apacheen.
Miten webhotelli, VPS ja dedikoitu palvelin eroavat toisistaan?
Kun julkaiset verkkosivuston, sinun on valittava sopiva hosting-ratkaisu. Yleisimmät vaihtoehdot ovat:
- Webhotelli (shared hosting)
- Virtuaalipalvelin (VPS hosting)
- Dedikoitu palvelin (Dedicated hosting)
Jaetussa webhotellissa useat verkkosivustot jakavat saman palvelimen resurssit, kuten suorittimen, muistin ja verkkoliikenteen. Tämä tarkoittaa, että yksi palvelin palvelee useita virtuaalisia sivustoja samanaikaisesti - kuten Apachen virtuaalipalveluissa. Jaettu hosting on yleensä edullisin vaihtoehto ja sopii hyvin pienille sivustoille tai projekteille, jotka eivät vaadi suurta suorituskykyä tai erityistä hallintaa.
VPS on virtuaalipalvelin, joka toimii kuten oma fyysinen palvelin, mutta jakaa fyysisen laitteiston resursseja virtualisoinnin avulla. VPS:llä on oma käyttöjärjestelmä (esim. Linux tai Windows), erilliset resurssit, käyttäjäoikeudet ja hallintamahdollisuudet. VPS tarjoaa enemmän suorituskykyä ja kontrollia kuin jaettu hosting, ja sen avulla voit asentaa ja ajaa esimerkiksi Apache- tai Nginx-palvelimia ja määrittää niissä useita virtuaalipalveluita eri domaineille. VPS vaatii kuitenkin enemmän teknistä osaamista palvelimen ylläpitoon ja konfigurointiin.
Dedikoidussa ympäristössä verkkosivustollasi on käytössä kokonainen fyysinen palvelin. Tämä tarjoaa suurimman suorituskyvyn ja hallinnan, koska kaikki palvelimen resurssit ovat yksinomaan sinun käytössäsi. Dedikoitu hosting on myös kallein vaihtoehto ja sopii suurille tai liikennöiville verkkopalveluille, jotka tarvitsevat maksimaalista resurssien hallintaa ja tietoturvaa.