Cloud & IT Cert Prep · Oppitunti

Suorituskyvyn optimointi CDN-säännöillä

Ohjatkaa HTTP-liikenne HTTPS:ään sääntömoottorin avulla, lisätkää suojausotsakkeita ja rajoittakaa sisällön käyttöä tietyistä maista maantieteellisellä suodatuksella.

Oppitunti 4/413 vaihetta

Suorituskyvyn optimointi CDN-säännöillä on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Miksi sääntökone on tärkeä

Azure Front Doorin sääntökone (Standard/Premium-versioissa nimeltään Rule sets) mahdollistaa HTTP-pyyntöjen ja -vastausten sieppaamisen ja muokkaamisen reunasolmussa ennen niiden välimuistiin tallentamista tai välittämistä alkuperään. Ilman sääntökonetta HTTP-uudelleenohjaus HTTPS:ään, tietoturvaotsakkeet vastauksiin ja maantieteellinen esto pitäisi toteuttaa alkuperäsovelluksen koodissa. Tämä lisäisi viivettä ja kytkisi tietoturvahaasteet liiketoimintalogiikkaan. Reunassa suoritettavat säännöt toimivat nopeammin ja vähentävät alkuperän kuormitusta.

HTTP-uudelleenohjaus HTTPS:ään

Yksi sääntökoneen yleisimmistä käyttötapauksista on HTTPS:n pakottaminen. Kun asiakas pyytää sivustoanne HTTP:n kautta, Front Doorin reunassa oleva uudelleenohjaussääntö palauttaa välittömästi vastauksen 301 Moved Permanently (tai 302 Found), joka osoittaa HTTPS-osoitteeseen — pyyntö ei koskaan saavuta alkuperää. Tämä on nopeampaa kuin alkuperässä tehtävät uudelleenohjaukset ja varmistaa, että kaikki liikenne salataan siirron aikana. Määrittäkää toiminto uudelleenohjauksena pyynnöille, joissa RequestScheme-ehdon arvo on HTTP.

// Rules engine rule — redirect HTTP to HTTPS
// Match condition: RequestScheme Equals HTTP
// Action: URL Redirect
//   Redirect type: Moved (301)
//   Destination protocol: HTTPS
//   Destination host: {http.request.host}
//   Destination path: {http.request.uri.path}
//   Query string: {http.request.uri.querystring}

Tietoturvaotsakkeiden lisääminen vastauksiin

Nykyaikaiset selaimet tukevat HTTP-tietoturvaotsakkeita, jotka estävät yleisiä hyökkäyksiä. Voitte lisätä nämä otsakkeet kaikkiin vastauksiin sääntökoneen Append response header -toiminnoilla muuttamatta alkuperäpalvelinta. Tärkeitä otsakkeita ovat esimerkiksi Strict-Transport-Security (pakottaa käyttämään HTTPS:ää tietyn ajan), X-Content-Type-Options: nosniff (estää MIME-tyypin tunnistamisen sisällön perusteella), X-Frame-Options: DENY (estää klikkauskaappauksen) ja Content-Security-Policy (rajoittaa sisällön lähteitä). Kun otsakkeet lisätään reunassa, niiden käyttö on yhdenmukaista kaikissa alkuperissä.

// Rules engine — add security headers to all responses
// Action 1: Append response header
//   Header name: Strict-Transport-Security
//   Value: max-age=31536000; includeSubDomains
// Action 2: Append response header
//   Header name: X-Content-Type-Options
//   Value: nosniff
// Action 3: Append response header
//   Header name: X-Frame-Options
//   Value: DENY

Välimuistiasetusten ohittaminen säännön mukaan

Sääntökoneen avulla voitte ohittaa oletusarvoisen välimuistin TTL-arvon tiettyjen URL-mallien osalta. Voitte esimerkiksi tallentaa /static/images/*-sisällön välimuistiin 30 päiväksi mutta säilyttää /api/*-vastaukset välimuistissa vain 60 sekunnin ajan. Käyttäkää RequestUri-ehtoon perustuvaa täsmäytystä ja Route configuration override -toimintoa mukautetun välimuistin keston määrittämiseen. Näin voitte hallita välimuistia tarkasti ilman erillisten reittien luomista kullekin sisältötyypille.

// Rules engine — cache API responses for 60 seconds
// Match condition: RequestUri BeginsWith /api/
// Action: Route configuration override
//   Cache: Enabled
//   Caching duration: 0 days, 0 hours, 1 minute
//   Query string caching: Include All

// Rules engine — cache static images for 30 days
// Match condition: RequestUri BeginsWith /static/images/
// Action: Route configuration override
//   Cache: Enabled
//   Caching duration: 30 days

URL-osoitteiden uudelleenkirjoitus reunassa

URL rewrite -toiminnot muokkaavat pyynnön URL-osoitetta ennen sen välittämistä alkuperään muuttamatta asiakkaan näkemää URL-osoitetta. Tästä on hyötyä, kun pyynnöt halutaan lähettää yhdestä URL-rakenteesta toisenlaiseen taustajärjestelmän polkuun. Voitte esimerkiksi kirjoittaa /products/item/{id}-osoitteen muotoon /catalog/v2/products/{id} taustajärjestelmän API-muutoksen vuoksi päivittämättä asiakaslinkkejä. URL rewrite on sääntökoneen toiminto, joka muokkaa URL path -arvoa merkkijonon korvaamisen tai sieppausryhmien avulla.

Maantieteelliseen sijaintiin perustuvat suodatinsäännöt

Maantieteellinen suodatus sääntökoneen tasolla mahdollistaa käyttäjien uudelleenohjaamisen tai estämisen tiettyjen maiden perusteella asiakkaan IP-osoitteesta johdetun maantieteellisen sijainnin avulla. Toisin kuin CDN:n maantieteellinen suodatus (joka palauttaa koodin 403), sääntökoneen maantieteellinen suodatus tarjoaa enemmän joustavuutta — voitte ohjata estettyjen maiden käyttäjät aloitussivulle, joka selittää alueellisen saatavuuden, tai reitittää tietyt maat aluekohtaisiin alkuperäryhmiin (esimerkiksi EU-käyttäjät EU-alkuperiin GDPR-vaatimusten noudattamiseksi). RemoteAddress-maantäsmäytys käyttää MaxMindin IP-osoitteiden ja maiden välistä tietokantaa.

Pyyntöotsakkeiden käsittely

Sääntökone voi lisätä, korvata tai poistaa pyyntöotsakkeita ennen niiden välittämistä alkuperään. Yleinen käyttötapaus on lisätä X-Forwarded-For-otsake tai mukautettu otsake, kuten X-Front-Door-Id, jotta alkuperä tietää pyyntöjen kulkeneen Front Doorin kautta ja voi vahvistaa ne. Voitte myös poistaa alkuperäisen Host-otsakkeen ja korvata sen alkuperän isäntänimellä — tämä on tärkeää, kun alkuperä tarkistaa Host-otsakkeen. Näin hallitsette täysin sitä, mitä alkuperäpalvelin näkee.

Reititys pyyntöotsakkeiden perusteella

Sääntökoneen ehdot voivat täsmätä pyyntöotsakkeiden arvoihin, mikä mahdollistaa kehittyneen reitityslogiikan. Voitte esimerkiksi reitittää otsakkeen X-API-Version: 2 sisältävät pyynnöt toiseen alkuperäryhmään, jossa käytetään v2-API:a, ja ilman kyseistä otsaketta saapuvat pyynnöt v1-alkuperään. Näin blue-green-API-versiointi voidaan toteuttaa reunassa ilman erillisiä isäntänimiä kullekin API-versiolle. Otsakepohjaista reititystä käytetään myös A/B-testaukseen reitittämällä liikennettä mukautetun käyttäjäsegmentin evästeen perusteella.

Vastausten pakkaaminen reunassa

Vastausten pakkaus Front Doorissa pakkaa tekstipohjaiset vastaukset (HTML, CSS, JavaScript ja JSON) gzip- tai Brotli-muotoon ennen niiden tarjoamista PoP-solmuista. Pakkauksesta on eniten hyötyä suurille JavaScript-paketeille, sillä se voi pienentää siirrettävää kokoa jopa 70 prosenttia. Ottakaa pakkaus käyttöön reittiasetuksissa ja määrittäkää pakattavat MIME-tyypit. Pakattu sisältö tallennetaan PoP-solmussa välimuistiin pakattuna — siksi vain kunkin resurssin ensimmäinen pyyntö käynnistää pakkauksen; seuraavat pyynnöt saavat välimuistissa olevan pakatun tiedoston heti.

Origin Shield

Origin Shield on valinnainen ylimääräinen välimuistitaso, jonka Front Door sijoittaa PoP-reunasolmujen ja alkuperän väliin. Kun ominaisuus on käytössä, yli 100 reunalla sijaitsevaa PoP-solmua eivät pyydä välimuistista puuttuvaa sisältöä kukin erikseen alkuperästä, vaan välittävät välimuistiosumat kyseiselle alueelliselle Origin Shield PoP -solmulle, joka puolestaan välittää ne alkuperään. Tämä vähentää merkittävästi alkuperään saapuvien pyyntöjen määrää (tätä kutsutaan nimellä origin offload ratio) ja mahdollistaa samalla sisällön tarjoamisen maailmanlaajuisesti reunalla sijaitsevista PoP-solmuista.

Sääntöjen testaaminen Front Door Explorerilla

Ennen kuin otatte sääntökonemuutokset käyttöön tuotannossa, vahvistakaa niiden toiminta portaalin diagnostiikka- ja testaustyökaluilla. Diagnostic settings -näkymän havaitsemistilan WAF-lokit näyttävät, mitkä säännöt täsmäävät. Sääntökonetta varten voitte myös tarkastella todellisia pyyntö- ja vastausotsakkeita selaimen kehittäjätyökaluilla sen jälkeen, kun muutokset on otettu käyttöön testiympäristössä, tai lähettää tiettyjä pyyntöjä komennolla curl -v ja varmistaa, että vastausotsakkeet ja uudelleenohjausten toiminta ovat odotusten mukaisia ennen tuotantoon siirtymistä.

# Test HTTP-to-HTTPS redirect at the CDN/Front Door edge
curl -v -L http://myapp.azurefd.net/ 2>&1 | grep -E '< (HTTP|Location)'
# Expected output:
# < HTTP/1.1 301 Moved Permanently
# < Location: https://myapp.azurefd.net/

Pikatarkistus

Testatkaa tämän oppitunnin Microsoft Azure Fundamentals (AZ-900) -käsitteiden ymmärtämistä.

Oppitunnin yhteenveto

Tässä oppitunnissa opitte, että Front Doorin sääntökone käsittelee HTTP-uudelleenohjaukset HTTPS:ään, tietoturvaotsakkeet vastauksiin ja välimuistin TTL-arvon ohitukset reunassa ilman muutoksia alkuperään, URL rewrite muokkaa alkuperään välitettävien pyyntöjen polkuja huomaamatta, kun taas URL-uudelleenohjaus muuttaa asiakkaalle näkyvää URL-osoitetta, ja Origin Shield vähentää alkuperän kuormitusta kokoamalla välimuistiosumattomat pyynnöt alueellisen suojaussolmun kautta. Seuraavaksi tutustumme Azure AI Services -palveluihin, joiden avulla sovelluksiin voidaan lisätä älykkyyttä.

Aloita maksutta

Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
150
Oppitunnit
600

Usein kysytyt kysymykset

Onko oppitunti ”Suorituskyvyn optimointi CDN-säännöillä” ilmainen?

Kyllä – oppitunnin ”Suorituskyvyn optimointi CDN-säännöillä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Suorituskyvyn optimointi CDN-säännöillä”?

Ohjatkaa HTTP-liikenne HTTPS:ään sääntömoottorin avulla, lisätkää suojausotsakkeita ja rajoittakaa sisällön käyttöä tietyistä maista maantieteellisellä suodatuksella. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Suorituskyvyn optimointi CDN-säännöillä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?

Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Azure CDN -profiilit ja päätepisteet
  2. Azure Front Door: maailmanlaajuinen kuormantasaus
  3. Verkkosovellusten palomuuri Front Doorissa
  4. Suorituskyvyn optimointi CDN-säännöillä
← Takaisin: Cloud & IT Cert Prep