• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. Dispatcherin määrittäminen | Adobe Experience Manager

Dispatcherin määrittäminen | Adobe Experience Manager

Rsdaa 03/11/2021 1852

Dispatcherin määrittäminen

HUOM

Dispatcher-versiot ovat riippumattomia AEM:stä. Sinut on saatettu ohjata tälle sivulle, jos seurasit linkkiä Dispatcherin dokumentaatioon, joka on upotettu AEM:n aiemman version dokumentaatioon.

Seuraavissa osissa kuvataan, kuinka Dispatcherin eri ominaisuudet määritetään.

IPv4- ja IPv6-tuki

Kaikki AEM- ja Dispatcher-elementit voidaan asentaa sekä IPv4- että IPv6-verkkoihin. Katso IPV4 ja IPV6.

Dispatcher-määritystiedostot

Oletusarvoisesti Dispatcher-määritykset tallennetaan tekstitiedostoon dispatcher.any, mutta voit muuttaa tämän tiedoston nimeä ja sijaintia asennuksen aikana.

Määritystiedosto sisältää joukon yksi- tai moniarvoisia ominaisuuksia, jotka ohjaavat Dispatcherin toimintaa:

Kiinteistöjen nimien eteen on merkitty vinoviiva /.Moniarvoiset ominaisuudet sisältävät alikohteet aaltosulkeilla { }.

Esimerkkikokoonpano on rakennettu seuraavasti:

# lähettäjän nimi/nimi "internet-palvelin"# jokainen maatila määrittää off (kuormitus) renderöinnit/farms {# ensimmäinen maatilan merkintä (tunniste ei ole tärkeä, vain avuksesi) /website { /clientheaders { # List of otsikot, jotka välitetään } /virtualhosts { # Tämän Web-sivuston URL-osoitteiden luettelo } /istunnonhallinta { # asetukset käyttäjätodennusta varten } /renders { # Luettelo AEM-esiintymistä, jotka renderöivät asiakirjat } /filter { # List of filters } /vanity_urls { # Turhamaisten URL-osoitteiden luettelo } /välimuisti { # Välimuistin asetukset / säännöt { # Välimuistiin tallennettavien asiakirjojen luettelo } /invalidate { # Automaattisesti mitätöityjen asiakirjojen luettelo } } /tilastot { /categories { # Kuorman tasapainottamiseen käytettävät asiakirjaluokat arviot } } /stickyConnectionsFor "/myFolder" /health_check { # Sivuun otetaan yhteyttä, kun ilmentymä palauttaa 500 } /retryDelay "1" /numberOfRetries "5" /unavailablePenalty "1" /failover "1" } }

Voit sisältää muita tiedostoja, jotka vaikuttavat määritykseen:

Jos määritystiedostosi on suuri, voit jakaa sen useisiin pienempiin tiedostoihin (jotka on helpompi hallita) ja sisällyttää ne. Automaattisesti luotujen tiedostojen sisällyttäminen.

Esimerkiksi sisällyttääksesi tiedoston myFarm.any kansioon /farms käytä seuraavaa koodia:

/farms{$include "myFarm.any"}

Käytä tähteä (*) jokerimerkkinä määrittääksesi sisällytettävät tiedostot.

Jos esimerkiksi tiedostot farm_1.any - farm_5.any sisältävät maatilojen määritykset yhdestä viiteen, voit sisällyttää ne seuraavasti:

/farms{$include "farm_*.any"}

Ympäristömuuttujien käyttäminen

Voit käyttää ympäristömuuttujia dispatcher.any-tiedoston merkkijonoarvoisissa ominaisuuksissa arvojen koodaamisen sijaan. Jos haluat sisällyttää ympäristömuuttujan arvon, käytä muotoa ${muuttujan_nimi}.

Jos esimerkiksi tiedosto dispatcher.any sijaitsee samassa hakemistossa kuin välimuistihakemisto, seuraavaa docroot-ominaisuuden arvoa voidaan käyttää:

/docroot "${PWD}/cache"

Toisena esimerkkinä, jos luot PUBLISH_IP-nimisen ympäristömuuttujan, joka tallentaa AEM-julkaisuinstanssin isäntänimen, seuraavaa /renders-ominaisuuden kokoonpanoa voidaan käyttää:

/renders {/0001 {/isäntänimi "${PUBLISH_IP}"/port "8443"}}

Dispatcher-esiintymän nimeäminen

Käytä /name-ominaisuutta määrittääksesi yksilöllisen nimen Dispatcher-esiintymän tunnistamiseksi . Ominaisuus /name on kokoonpanorakenteen ylimmän tason ominaisuus.

Tilojen määrittäminen

Ominaisuus /farms määrittää yhden tai useamman joukon Dispatcher-käyttäytymistä, joissa jokainen joukko liittyy eri Web-sivustoihin tai URL-osoitteisiin. Omaisuus /farms voi sisältää yhden tilan tai useita tiloja:

Käytä yhtä maatilaa, kun haluat Dispatcherin käsittelevän kaikkia verkkosivujasi tai verkkosivustojasi samalla tavalla.Luo useita tiloja, kun verkkosivustosi eri osat tai eri Web-sivustot vaativat erilaista Dispatcherin toimintaa.

Ominaisuus /farms on ylimmän tason ominaisuus kokoonpanorakenteessa. Voit määrittää tilan lisäämällä /farms-ominaisuuteen aliominaisuus. Käytä ominaisuuden nimeä, joka yksilöi tilan Dispatcher-esiintymässä.

Ominaisuus /farmname on moniarvoinen ja sisältää muita ominaisuuksia, jotka määrittävät työnvälittäjän toiminnan:

Niiden sivujen URL-osoitteet, joita maatila koskee.Yksi tai useampi palvelun URL-osoite (tyypillisesti AEM-julkaisuesiintymistä), jota käytetään asiakirjojen hahmontamiseen.Tilastot, joita käytetään useiden asiakirjojen hahmontajien kuormituksen tasapainottamiseen.Useita muita toimintoja, kuten mitkä tiedostot välimuisti ja missä.

Arvossa voi olla mikä tahansa aakkosnumeerinen merkki (a-z, 0-9). Seuraava esimerkki näyttää luurankomäärityksen kahdelle maatilalle nimeltä /daycom ja /docsdaycom:

#lähettäjän nimi/nimi "päiväsivustot"#farms-osio määrittää luettelon tiloista tai sivustoista/tiloista{ /daycom { ... } /docdaycom {... }}

HUOMAA

Jos käytät useampaa kuin yhtä renderöintitilaa, luetteloa arvioidaan alhaalta ylöspäin. Tämä on erityisen tärkeää määritettäessä virtuaalisia isäntiä verkkosivustoillesi.

Jokainen maatila-omaisuus voi sisältää seuraavat alatason omaisuudet:

Määritä oletussivu (vain IIS) - /homepage

VAROITUS

/homepageparameter (vain IIS) ei enää toimi. Sen sijaan sinun tulee käyttää IIS URL Rewrite Module -moduulia.

Jos käytät Apachea, sinun tulee käyttää mod_rewrite-moduulia. Katso Apachen web-sivuston dokumentaatiosta tietoja mod_rewrite-komennolla (esimerkiksi Apache 2.4). Mod_rewrite-funktiota käytettäessä on suositeltavaa käyttää lippua 'passthrough|PT' (läpi seuraavaan käsittelijään) pakottaaksesi uudelleenkirjoitusmoottorin asettamaan sisäisen request_rec-rakenteen uri-kentän tiedostonimikentän arvoon.

/clientheaders-ominaisuus määrittää luettelon HTTP-otsikoista, jotka Dispatcher välittää asiakkaan HTTP-pyynnöstä renderöijalle (AEM-instanssi).

Oletusarvoisesti Dispatcher välittää normaalit HTTP-otsikot AEM-instanssiin. Joissakin tapauksissa saatat haluta lähettää lisää otsikoita tai poistaa tietyt otsikot:

Lisää otsikoita, kuten mukautettuja otsikoita, joita AEM-instanssi odottaa HTTP-pyynnössä.Poista otsikot, kuten todennusotsikot, jotka liittyvät vain verkkopalvelimeen.

Jos muokkaat läpikuljettavia otsikoita, voit on määritettävä kattava luettelo otsikoista, mukaan lukien ne, jotka yleensä sisällytetään oletusarvoisesti.

Esimerkiksi Dispatcher-instanssi, joka käsittelee julkaisuinstanssien sivun aktivointipyyntöjä, vaatii PATH-otsikon /clientheaders-osiossa. PATH-otsikko mahdollistaa tiedonsiirron replikointiagentin ja lähettäjän välillä.

Seuraava koodi on esimerkkimäärityksestä /clientheaders:

/clientheaders{"CSRF-Token""X-Forwarded-Proto""viittaus""user-agent""valtuutus""from""content-type""content-length""accept-charset""accept-encoding"" Hyväksy-kieli""hyväksy""isäntä""jos-vastaavuus""jos-ei-vastaa""jos-alue""jos-muokattu-koska""max-forwards""välityspalvelimen valtuutus""välityspalvelinyhteys"" range""cookie""cq-action""cq-handle""handle""toiminto""cqstats""syvyys""käännä""vanhenee""päivämäärä""dav""ms-author-via"""jos"" lock-token""x-expected-entity-length""destination""PATH"}

Virtuaalipalvelinten tunnistaminen

Ominaisuus /virtualhosts määrittää luettelon kaikista isäntänimi/URI-yhdistelmistä, joita Dispatcher hyväksyy tämä maatila. Voit käyttää tähtimerkkiä (*) jokerimerkkinä. Omaisuuden / virtualhosts arvot käyttävät seuraavaa muotoa:

[scheme]host[uri][*]

Seuraava esimerkkikokoonpano käsittelee myCompany-yrityksen .com- ja .ch-verkkotunnuksia sekä kaikkia mySubDivisionin verkkotunnuksia koskevia pyyntöjä:

/virtualhosts{"www.myCompany.com""www.myCompany.ch""www.mySubDivison.*"}

Seuraava kokoonpano käsittelee kaikki pyynnöt:

/virtualhosts{"*"}

Virtuaalipalvelimen ratkaiseminen

Kun Dispatcher vastaanottaa HTTP- tai HTTPS-pyynnön, se löytää virtuaalisen isäntäarvon, joka vastaa parhaiten palvelimen isäntä-, uri- ja järjestelmän otsikoita. pyyntö. Dispatcher arvioi arvot virtualhosts-ominaisuuksissa seuraavassa järjestyksessä:

Dispatcher alkaa alimmasta tilasta ja etenee ylöspäin dispatcher.any-tiedostossa. Dispatcher aloittaa jokaisen tilan kohdalla virtualhosts-ominaisuuden ylimmästä arvosta ja etenee arvoluettelossa alaspäin.

Dispatcher löytää parhaiten vastaavan virtuaalisen isäntäarvon seuraavalla tavalla:

Käytetään ensimmäistä kertaa havaittua virtuaali-isäntä, joka vastaa kaikkia kolmea isäntäkonetta, mallia ja pyynnön uria. Jos virtualhosts-arvoilla ei ole järjestelmän ja uri-osien osia, jotka molemmat vastaavat pyynnön mallia ja uria, Virtuaalipalvelinta, joka vastaa pyynnön isäntää, käytetään.Jos millään virtualhosts-arvolla ei ole isäntäosaa, joka vastaa pyynnön isäntää, käytetään ylimmän tilan ylintä virtuaalipalvelinta.

Siksi sinun tulee sijoittaa oletusarvoinen virtuaalinen isäntä host dispatcher.any-tiedoston ylimmän tilan virtualhosts-ominaisuuden yläosassa.

Esimerkki virtuaalisen isäntäresoluutiosta

Seuraava esimerkki edustaa katkelmaa dispatcher.any-tiedostosta, joka määrittää kaksi Dispatcher-farmia ja jokainen maatila määrittelee virtualhosts-ominaisuuden.

/farms{/myProducts{/virtualhosts{"www.omayritys.fi"}/renders{/isäntänimi "server1.myCompany.com"/port "80"}}/omaYritys{/virtuaalipalvelimet{"www.omayritys.fi/tuotteet /*"}/renders{/isäntänimi "server2.myCompany.com"/port "80"}}}

Tässä esimerkissä seuraava taulukko näyttää virtuaaliset isännät, jotka on ratkaistu tietyille HTTP-pyynnöille:

Pyydä URL-osoitetta Ratkaistu virtuaalipalvelin istunnonhallinta

VAROITUS

/allowAuthorized-asetuksena on oltava "0" /cache-osiossa, jotta tämä ominaisuus voidaan ottaa käyttöön.

Luo suojattu istunto renderöintifarmiin pääsyä varten, jotta käyttäjien on kirjauduttava sisään päästäkseen mille tahansa tilan sivulle. Kirjautumisen jälkeen käyttäjät pääsevät tilan sivuille. Katso Suljetun käyttäjäryhmän luominen saadaksesi lisätietoja tämän ominaisuuden käyttämisestä CUG:iden kanssa. Katso myös Dispatcher Security Checklist ennen lähetystä.

/sessionmanagement-ominaisuus on /farms-aliominaisuus.

VAROITUS

Jos verkkosivustosi osiot käyttävät erilaisia ​​käyttöoikeusvaatimuksia, sinun on määritettävä useita tiloja.

/sessionmanagementilla on useita aliparametreja:

/hakemisto (pakollinen)

Hakemisto, joka tallentaa istuntotiedot. Jos hakemistoa ei ole olemassa, se luodaan.

VAROITUS

Kun määrität hakemiston aliparametria, älä osoita juurikansiota (/hakemisto "/"), koska se voi aiheuttaa vakavia ongelmia. Sinun tulee aina määrittää polku istuntotiedot sisältävään kansioon. Esimerkiksi:

/sessionmanagement{/-hakemisto "/usr/local/apache/.sessions"}

/encode (valinnainen)

Miten istuntotiedot koodataan. Käytä md5:tä salaukseen md5-algoritmilla tai heksadesimaalikoodaukseen heksadesimaalikoodausta. Jos salaat istunnon tiedot, käyttäjä, jolla on pääsy tiedostojärjestelmään, ei voi lukea istunnon sisältöä. Oletusarvo on md5.

/otsikko (valinnainen)

Valtuutustiedot tallentavan HTTP-otsikon tai evästeen nimi. Jos tallennat tiedot http-otsikkoon, käytä HTTP:tä. Jos haluat tallentaa tiedot evästeeseen, käytä evästettä:. Jos et määritä arvoa, käytetään HTTP:authorization.

/timeout (valinnainen)

Sekuntien määrä istunnon aikakatkaisuun sen jälkeen, kun sitä on käytetty viimeksi. Jos ei ole määritetty, käytetään "800", joten istunto aikakatkaistaan ​​hieman yli 13 minuuttia käyttäjän viimeisen pyynnön jälkeen.

Esimerkkikokoonpano näyttää seuraavalta:

/sessionmanagement{/directory "/usr/local/apache/.sessions"/encode "md5"/header "HTTP:authorization"/timeout "800"}

Sivun hahmontajien määrittäminen

/renders ominaisuus määrittää URL-osoitteen, johon Dispatcher lähettää asiakirjan renderöintipyynnöt. Seuraava esimerkki /renders -osio tunnistaa yhden AEM-ilmentymän hahmontamista varten:

/renders{/myRenderer{# renderöijän/isäntänimen isäntänimi tai IP "aem.myCompany.com"# renderöijän/portin portti "4503"# yhteyden aikakatkaisu millisekunteina, "0" (oletus) odottaa loputtomasti/aikakatkaisu "0 "}}

Seuraava esimerkki /renders -osio tunnistaa AEM-esiintymän, joka toimii samassa tietokoneessa kuin lähettäjä:

/renderöit{/myRenderer { /isäntänimi "127.0.0.1" /portti "4503" }}

Seuraava esimerkki /renders -osio jakaa renderöintipyynnöt tasaisesti kahden AEM-instanssin kesken:

/renders{/myFirstRenderer{/hostname "aem.myCompany.com"/port "4503"}/mySecondRenderer{/hostname "127.0.0.1"/port "4503"}}

Renderointiasetukset

/Aikalisä

Määrittää yhteyden aikakatkaisun AEM-instanssiin pääsyssä millisekunteina. Oletusarvo on "0", jolloin Dispatcher odottaa loputtomasti.

/receiveTimeout

Määrittää ajan millisekunteina, jonka vastauksen saa kestää. Oletusarvo on "600000", jolloin Dispatcher odottaa 10 minuuttia. Asetus "0" poistaa aikakatkaisun kokonaan.

Jos aikakatkaisu saavutetaan jäsennettäessä vastausotsikoita, palautetaan HTTP-tila 504 (Bad Gateway). Jos aikakatkaisu saavutetaan, kun vastaustekstiä luetaan, Dispatcher palauttaa epätäydellisen vastauksen asiakkaalle, mutta poistaa kaikki mahdollisesti kirjoitetut välimuistitiedostot.

/ipv4

Määrittää, käyttääkö Dispatcher getaddrinfo-funktiota (IPv6:lle) vai gethostbyname-funktiota (IPv4:lle) renderöinnin IP-osoitteen hankkimiseen. Arvo 0 aiheuttaa getaddrinfo:n käytön. Arvo 1 saa aikaan gethostbyname:n käytön. Oletusarvo on 0.

Getaddrinfo-funktio palauttaa luettelon IP-osoitteista. Dispatcher toistaa osoiteluetteloa, kunnes se muodostaa TCP/IP-yhteyden. Siksi ipv4-ominaisuus on tärkeä, kun renderöinnin isäntänimi liittyy useisiin IP-osoitteisiin ja isäntä vastauksena getaddrinfo-funktiolle palauttaa luettelon IP-osoitteista, jotka ovat aina samassa järjestyksessä. Tässä tilanteessa sinun tulee käyttää gethostbyname-funktiota, jotta IP-osoite, johon Dispatcher muodostaa yhteyden, satunnaistetaan.

Amazon Elastic Load Balancing (ELB) on sellainen palvelu, joka vastaa getaddrinfoon mahdollisesti samalla järjestetyllä IP-osoitteiden luettelolla.

/secure

Jos /secure-ominaisuuden arvo on "1", Dispatcher käyttää HTTPS:ää yhteydenpitoon AEM-instanssin kanssa. Lisätietoja on myös kohdassa Dispatcherin määrittäminen käyttämään SSL:ää.

/aina-resolve

Dispatcher-versiossa 4.1.6 voit määrittää /always-resolve-ominaisuuden seuraavasti:

Kun asetus on "1", se ratkaisee isäntänimen jokaisessa pyynnössä (välittäjä ei koskaan tallenna IP-osoitetta välimuistiin). Sillä voi olla pieni vaikutus suorituskykyyn, koska isäntätietojen hankkimiseen tarvitaan lisäkutsu jokaiselle pyynnölle. Jos ominaisuutta ei ole asetettu, IP-osoite tallennetaan oletuksena välimuistiin.

Tätä ominaisuutta voidaan käyttää myös siinä tapauksessa, että kohtaat dynaamisia IP-selvitysongelmia seuraavan esimerkin mukaisesti:

/renders {/0001 { /hostname "host-name-here" /port "4502" /ipv4 "1" /always-resolve "1" }}

Sisällön käyttöoikeuden määrittäminen

Käytä /filter-osio määrittääksesi HTTP-pyynnöt, jotka Dispatcher hyväksyy. Kaikki muut pyynnöt lähetetään takaisin verkkopalvelimelle 404-virhekoodilla (sivua ei löydy). Jos /filter-osiota ei ole, kaikki pyynnöt hyväksytään.

Huomaa: Tilastotiedostoa koskevat pyynnöt hylätään aina.

/filter-osio koostuu joukosta sääntöjä, jotka joko estävät tai sallivat pääsyn sisältöön HTTP-pyynnön pyyntöriviosan mallien mukaisesti. Sinun tulisi käyttää /filter-osiolle sallittujen luettelostrategiaa:

Estä ensin pääsy kaikkeen.Salli pääsy sisältöön tarpeen mukaan.

Suodattimen määrittäminen

Jokainen /filter-osion kohde sisältää tyypin ja mallin, joka vastaa pyynnön tiettyä elementtiä rivi tai koko pyyntörivi. Jokainen suodatin voi sisältää seuraavat kohteet:

Tyyppi: /type osoittaa, sallitaanko vai kielletäänkö mallia vastaavien pyyntöjen käyttö. Arvo voi olla joko sallia tai kieltää.

Pyyntörivin elementti: Sisällytä /method, /url, /query tai /protocol ja malli pyyntöjen suodattamiseksi HTTP-pyynnön pyyntöriviosan näiden tiettyjen osien mukaan. Suodatus pyyntörivin elementeillä (eikä koko pyyntörivillä) on suositeltava suodatusmenetelmä.

Pyyntörivin lisäelementit: Dispatcher 4.2.0:sta alkaen neljä uutta suodatinelementtiä on käytettävissä. Nämä uudet elementit ovat /path, /selectors, /extension ja /suffix. Lisää yksi tai useampi näistä kohteista hallitaksesi URL-malleja tarkemmin.

HUOM

Saat lisätietoja siitä, mihin pyyntörivin osaan kukin näistä elementeistä viittaa, katso Sling URL Decomposition wiki -sivu.

glob-ominaisuus: /glob-ominaisuutta käytetään vastaamaan HTTP-pyynnön koko pyyntöriviä.

VAROITUS

Suodatus palloilla on vanhentunut Dispatcherissa. Sellaisenaan sinun tulee välttää globs-merkkien käyttöä /filter-osioissa, koska se voi johtaa tietoturvaongelmiin. Joten sen sijaan:

/glob "* *.css *"

sinun pitäisi käyttää

/url "*.css"

HTTP-pyyntöjen pyyntöriviosa

HTTP/1.1 määrittää pyyntörivin seuraavasti:

Method Request-URI HTTP-Version

Merkit edustavat rivinvaihtoa, jota seuraa rivinvaihto. Seuraava esimerkki on pyyntörivi, joka vastaanotetaan, kun asiakas pyytää WKND-sivuston amerikkalais-englanninkielistä sivua:

HAE /content/wknd/us/en.html HTTP.1.1

Malleissasi on otettava huomioon välilyönnit pyyntörivillä ja merkit.

Kaksoislainausmerkit vs. kertalainausmerkit

Kun luot suodatinsääntöjä, käytä kaksoislainausmerkkien "mallia" yksinkertaisiin kuvioihin. Jos käytät Dispatcher 4.2.0:aa tai uudempaa ja mallissasi on säännöllinen lauseke, sinun on sisällytettävä säännöllinen lauseke '(kuvio1|kuvio2)' yksittäisiin lainausmerkkeihin.

Säännölliset lausekkeet

4.2.0:ta uudemmissa Dispatcher-versioissa voit sisällyttää POSIX Extended -säännölliset lausekkeet suodatinmalleihisi.

Suodattimien vianetsintä

Jos suodattimesi eivät laukea odotetulla tavalla, ota seurantakirjaus käyttöön dispatcherissa, jotta näet, mikä suodatin sieppaa pyynnön.

Esimerkkisuodatin: Estä kaikki

Seuraava esimerkkisuodatinosa saa Dispatcherin hylkäämään kaikkien tiedostojen pyynnöt. Sinun tulee kieltää pääsy kaikkiin tiedostoihin ja sallia sitten pääsy tietyille alueille.

/0001{ /glob "*" /type "deny" }

Pyynnöt nimenomaisesti kielletylle alueelle johtavat 404-virhekoodin (sivua ei löydy) palauttamiseen.

Esimerkkisuodattimesta: Estä pääsy tietyille alueille

Suodatinten avulla voit myös estää pääsyn useisiin elementteihin, kuten ASP-sivuihin ja julkaisuinstanssin arkaluonteisiin alueisiin. Seuraava suodatin estää pääsyn ASP-sivuille:

/0002{ /type "deny" /url "*.asp"}Esimerkkisuodatin: Ota POST-pyynnöt käyttöön

Seuraava esimerkkisuodatin mahdollistaa lomaketietojen lähettämisen POST-menetelmällä:

/filter {/0001{ /glob "*" /type "deny" }/0002 { /type "allow" /method "POST" /url "/content/[.]*.form.html" }}Esimerkkisuodattimesta: Salli pääsy työnkulkukonsoliin

Seuraava esimerkki näyttää suodattimen, jota käytetään estämään ulkoinen pääsy työnkulkukonsoliin:

/filter {/0001{ /glob "*" /type "deny" }/0002{/type "allow"/url "/libs/cq/workflow/content/console*"}}

Jos julkaisuinstanssisi käyttää verkkosovelluskonteksti (esimerkiksi julkaise) tämä voidaan myös lisätä suodattimen määritelmään.

/0003 { /type "deny"/url "/publish/libs/cq/workflow/content/console/archive*"}

Jos sinun on edelleen käytettävä yksittäisiä sivuja rajoitetulla alueella, voit sallia niiden käytön . Jos haluat esimerkiksi sallia pääsyn Arkisto-välilehdelle työnkulkukonsolin sisällä, lisää seuraava osio:

/0004{ /type "allow"/url "/libs/cq/workflow/content/console/archive*"

HUOMAA

Kun pyyntöön sovelletaan useita suodatinmalleja, viimeinen käytetty suodatinmalli on voimassa.

Esimerkkisuodattimesta: Säännöllisten lausekkeiden käyttäminen

Tämä suodatin mahdollistaa laajennukset ei-julkisiin sisältöhakemistoihin käyttämällä säännöllistä lauseketta, joka määritellään tässä yksittäisten lainausmerkkien välissä:

/005{/type "salli" /extension '(css|gif|ico|js|png|swf|jpe?g)' }Esimerkkisuodatin: Pyynnön URL-osoitteen lisäelementtien suodattaminen

Alla on esimerkki säännöstä, joka estää sisällön sieppaus /content-polusta ja sen alipuusta polun, valitsimien ja laajennusten suodattimien avulla:

/006 {/type "deny"/polku "/content/*"/selectors '(feed|rss|pages|languages|blueprint|infinity|tidy)'/extension '(json|xml|html)'}

Esimerkki /suodatinosio

Kun määrität Dispatcherin, sinun tulee rajoittaa ulkoista pääsyä mahdollisimman paljon. Seuraava esimerkki tarjoaa vain vähän pääsyä ulkoisille vierailijoille:

Kun olet luonut suodattimia, testaa sivun käyttöoikeus varmistaaksesi, että AEM-instanssisi on suojattu.

Seuraavaa dispatcher.any-tiedoston /filter-osiota voidaan käyttää Dispatcher-määritystiedoston perustana.

Tämä esimerkki perustuu Dispatcherin mukana toimitettuun oletusmääritystiedostoon, ja se on tarkoitettu esimerkkinä käytettäväksi tuotantoympäristössä. Kohteet, joiden etuliitteenä on #, poistetaan käytöstä (kommentoidaan). Ole varovainen, jos päätät aktivoida jonkin näistä (poistamalla #-merkin kyseiseltä riviltä), koska sillä voi olla turvallisuusvaikutuksia.

Sinun tulee kieltää pääsy kaikkeen ja sallia sitten pääsy tiettyihin (rajoitettuihin) elementteihin:

/filter{# Estä ensin kaikki ja salli sitten tietyt merkinnät/0001 { /type "deny" /glob "*" }# Avaa konsolit# /0011 { /type "allow" /url "/admin/*"}# salli servlet moottorin admin# /0012 { /type "allow" /url "/crx/*"}# salli sisältövarasto# /0013 { /type "allow" /url "/system/*" }# salli OSGi-konsoli# Salli ei- julkiset sisältöhakemistot# /0021 { /type "allow" /url "/apps/*" }# salli sovellusten käyttö# /0022 { /type "allow" /url "/bin/*"}/0023 { /type "allow" " /url "/content*" }# poista tämä sääntö käytöstä salliaksesi vain yhdistetyn sisällön# /0024 { /type "allow" /url "/libs/*" }# /0025 { /type "deny"/url "/libs /shindig/proxy*" } # jos otat käyttöön /libs-välityspalvelimen sulkemisen # /0026 { /type "allow" /url "/home/*" }# /0027 { /type "allow" /url "/tmp/ *"}# /0028 { /type "allow" /url "/var/*"}# Ota laajennukset käyttöön ei-julkisissa sisältöhakemistoissa käyttämällä säännöllistä lauseketta/0041{/type "allow"/extension '(css|gif |ico|js|png|swf|jpe?g)'}# Ota Features/0062 käyttöön { /type "allow" /url "/libs/cq/personalization/*"}# ota mukauttaminen käyttöön# Estä sisällön sieppaus kaikissa käytettävissä olevissa sivut, joissa käytetään säännöllisiä lausekkeita/0081{/type "deny"/selectors '((sys|doc)view|query|[0-9-]+)'/extension '(json|xml)'}# Estä sisällön sieppaus kohteelle /content ja sen alipuu/0082{/type "deny"/polku "/content/*"/selectors '(feed|rss|pages|languages|blueprint|infinity|tidy)'/extension '(json|xml|html) '}# /0087 { /type "allow" /method "GET" /extension 'json' "*.1.json" }# salli yksitasoiset json-pyynnöt.}

HUOMAA

Dynaamisen median suodattimet 0030 ja 0031 koskevat AEM 6.0:aa ja uudempaa.

Harkitse seuraavia suosituksia, jos päätät laajentaa käyttöoikeutta:

Ulkoinen pääsy tiedostoon /admin on aina poistettava kokonaan käytöstä, jos käytät CQ-versiota 5.4 tai aiempaa versiota.

On oltava varovainen sallittaessa pääsy tiedostoihin /libs. Pääsy on sallittava yksilöllisesti.

Estä pääsy toisinnusmäärityksiin, jotta se ei näy:

/etc/replication.xml*/etc/replication.infinity.json*

Estä pääsy Google Gadgetien käänteiseen välityspalvelimeen:

Asennuksestasi riippuen /libs-, /apps- tai muualla saattaa olla lisäresursseja, jotka on asetettava saataville. Voit käyttää access.log-tiedostoa yhtenä tapana määrittää resurssit, joita käytetään ulkoisesti.

VAROITUS

Konsolien ja hakemistojen käyttö voi aiheuttaa turvallisuusriskin tuotantoympäristöissä. Ellei sinulla ole nimenomaisia ​​perusteluja, niiden tulisi pysyä deaktivoituina (kommentoituina).

Kyselymerkkijonojen rajoittaminen

Dispatcherin versiosta 4.1.5 lähtien käytä /filter-osiota kyselymerkkijonojen rajoittamiseen. On erittäin suositeltavaa sallia nimenomaisesti kyselymerkkijonot ja sulkea pois yleiset sallitut sallitut suodatinelementit.

Yhdessä merkinnässä voi olla joko glob tai jokin menetelmän, URL-osoitteen, kyselyn ja version yhdistelmä, mutta ei molempia. Seuraava esimerkki sallii a=*-kyselymerkkijonon ja estää kaikki muut kyselymerkkijonot URL-osoitteissa, jotka ratkaisevat /etc-solmuun:

/filter { /0001 { /type "kiellä" /method "POST" /url "/etc/*" } /0002 { /type "allow" /method "GET" /url "/etc/*" /kysely "a =*" }}

HUOM

Jos sääntö sisältää /kyselyn, se vastaa vain pyyntöjä, jotka sisältävät kyselymerkkijonon ja vastaavat annettua kyselymallia.

Jos yllä olevassa esimerkissä sallittaisiin myös pyynnöt tiedostoon /etc, joissa ei ole kyselymerkkijonoa, seuraavat säännöt vaaditaan:

/filter {>/0001 { /type "kiellä" /method "*" /url "/polku/*" }>/0002 { /type "salli" /method "GET" /url "/polku/*" }>/0003 { /tyyppi "kiellä" /method "GET" /url "/polku/*" /kysely "*" }>/0004 { /type "salli" /menetelmä "GET" /url "/polku /*" /query "a=*" }}

Testing Dispatcher Security

Dispatcher-suodattimien pitäisi estää pääsy seuraaville sivuille ja komentosarjoille AEM-julkaisuesiintymissä. Yritä avata seuraavat sivut verkkoselaimella kuten sivuston vierailija ja varmistaa, että koodi 404 palautetaan. Jos saat muita tuloksia, säädä suodattimia.

Huomaa, että /content/add_valid_page.html?debug=layout-sivun pitäisi näkyä normaalina.

/admin/system/console/dav/crx.default/crx/bin/crxde/logs/jcr:system/jcr:versionStorage.json/_jcr_system/_jcr_versionStorage.json/libs/wcm/core/content/siteadmin.html/libs /collab/core/content/admin.html/libs/cq/ui/content/dumplibs.html/var/linkchecker.html/etc/linkchecker.html/home/users/a/admin/profile.json/home/users /a/admin/profile.xml/libs/cq/core/content/login.json/content/../libs/foundation/components/text/text.jsp/content/.{.}/libs/foundation/components /text/text.jsp/apps/sling/config/org.apache.felix.webconsole.internal.servlet.OsgiManager.config/jcr%3acontent/jcr%3adata/libs/foundation/components/primary/cq/workflow/components /participants/json.GET.servlet/content.pages.json/content.languages.json/content.blueprint.json/content.-1.json/content.10.json/content.infinity.json/content.tidy. json/content.tidy.-1.blubber.json/content/dam.tidy.-100.json/content/content/geometrixx.sitemap.txt /content/add_valid_page.query.json?statement=//*/content/ add_valid_page.qu%65ry.js%6Fn?statement=//*/content/add_valid_page.query.json?statement=//*[@transportPassword]/(@transportPassword%20|%20@transportUri%20|%20@ transportUser)/content/add_valid_path_to_a_page/_jcr_content.json/content/add_valid_path_to_a_page/jcr:content.json/content/add_valid_path_to_a_page/_jcr_content.feed/content_pathtcr_adjson/content/pathtcr /add_valid_path_a_page/pagename._jcr_content.feed/content /add_valid_path_a_a_page/pagename.jcr:content.feed/content/add_valid_path_a_page/pagename.docview.xml/content/add_valid_path_to_a_page/pagename.docview.json/content/add_valid_page/xx_a/conetcview. .xml /content.rss.xml/content.feed.html/content/add_valid_page.html?debug=layout/projects/tagging/etc/replication.html/etc/cloudservices.html/welcome

Anna seuraava komento päätteessä tai komentokehote määrittääksesi, onko anonyymi kirjoitusoikeus käytössä. Sinun ei pitäisi pystyä kirjoittamaan dataa solmuun.

curl -X POST "https://anonymous:anonymous@hostname:port/content/usergenerated/mytestnode"

Anna seuraava komento päätteessä tai komentokehotteessa yrittääksesi mitätöidä Dispatcherin välimuistin ja varmista, että saat koodin 404 vastauksen:

curl -H "CQ-Handle: /content" -H "CQ-Path: /content" https://yourhostname/dispatcher/invalidate.cache

Turhamaisten URL-osoitteiden käytön salliminen

Määritä Dispatcher sallimaan pääsy AEM-sivuillesi määritettyihin turhia URL-osoitteisiin.

Kun turhamaisten URL-osoitteiden käyttö on sallittu, Dispatcher soittaa ajoittain palveluun, joka toimii renderöintiinstanssissa saadakseen luettelon turhia URL-osoitteista. Dispatcher tallentaa tämän luettelon paikalliseen tiedostoon. Kun sivupyyntö evätään /filter-osiossa olevan suodattimen vuoksi, Dispatcher tarkastelee URL-osoitteiden luetteloa. Jos estetty URL on luettelossa, Dispatcher sallii pääsyn turhamaiseen URL-osoitteeseen.

Voit sallia turhamaisten URL-osoitteiden käytön lisäämällä /vanity_urls-osion /farms-osioon seuraavan esimerkin mukaisesti:

/vanity_urls {/url "/libs/granite/dispatcher/content/vanityUrls.html"/file "/tmp/vanity_urls"/delay 300

/vanity_urls-osio sisältää seuraavat ominaisuudet:

/url: Polku turhamaiseen URL-palveluun, joka suoritetaan renderöintiinstanssissa. Tämän ominaisuuden arvon on oltava "/libs/granite/dispatcher/content/vanityUrls.html".

/file: Polku paikalliseen tiedostoon, johon Dispatcher tallentaa luettelon URL-osoitteista. Varmista, että Dispatcherilla on kirjoitusoikeus tähän tiedostoon.

/viive: (sekuntia) Aika turhamaiseen URL-palveluun soitettujen puhelujen välillä.

Käytä seuraavaa menettelyä salliaksesi turhamaisten URL-osoitteiden käyttö.

Jos renderöintipalvelusi on AEM-esiintymä, asenna com.adobe.granite.dispatcher.vanityurl.content-paketti julkaisuesiintymään (katso yllä oleva huomautus). Varmista jokaiselle AEM- tai CQ-sivulle määrittämäsi turhamaisen URL-osoitteen kohdalla. että /filter-määritys estää URL-osoitteen. Lisää tarvittaessa suodatin, joka estää URL-osoitteen.Lisää /vanity_urls-osio alle /farms.Käynnistä Apache-verkkopalvelin uudelleen.

Jakelupyyntöjen edelleenlähetys - /propagateSyndPost

Jakelupyynnöt on yleensä tarkoitettu vain Dispatcherille, joten oletusarvoisesti niitä ei lähetetä renderöijalle (esimerkiksi AEM-instanssille).

Aseta tarvittaessa /propagateSyndPost-ominaisuuden arvoksi "1", jotta jakelupyynnöt välitetään Dispatcherille. Jos tämä on asetettu, sinun on varmistettava, että POST-pyyntöjä ei evätä suodatinosassa.

Dispatcher-välimuistin määrittäminen - /cache

/cache-osio ohjaa sitä, kuinka Dispatcher tallentaa asiakirjoja välimuistiin. Määritä useita aliominaisuuksia välimuististrategioiden toteuttamiseksi:

/docroot/statfile/serveStaleOnError/allowAuthorized/rules/statfileslevel/invalidate/invalidateHandler/allowedClients/ignoreUrlParams/headers/mode/gracePeriod/enableTTL

Esimerkkivälimuistiosio voi näyttää seuraavalta:

/cache{/docroot "/opt/dispatcher/cache"/statfile"/tmp/dispatcher-website.stat"/allowAuthorized "0"/rules{# Välimuistissa olevien tiedostojen luettelo}/invalidate{# Luettelo tiedostoista, jotka ovat auto-invalidated}}

Välimuistihakemiston määrittäminen

Ominaisuus /docroot tunnistaa hakemiston, johon välimuistissa olevat tiedostot on tallennettu.

HUOM

Arvon on oltava täsmälleen sama polku kuin verkkopalvelimen asiakirjan juuren polku, jotta Dispatcher ja verkkopalvelin käsittelevät samoja tiedostoja. Verkkopalvelin on vastuussa oikean tilakoodin toimittamisesta, kun lähettäjän välimuistitiedostoa käytetään, siksi on tärkeää, että se löytää myös sen.

Jos käytät useita tiloja, kullakin maatilalla on käytettävä erilaista asiakirjajuurta.

Stat-tiedoston nimeäminen

Ominaisuus /statfile tunnistaa tiedoston, jota käytetään stattiedostona. Dispatcher rekisteröi tämän tiedoston avulla viimeisimmän sisältöpäivityksen ajan. Stat-tiedosto voi olla mikä tahansa verkkopalvelimella oleva tiedosto.

Tilastotiedostossa ei ole sisältöä. Kun sisältöä päivitetään, Dispatcher päivittää aikaleiman. Oletustilatiedosto on nimeltään .stat ja se tallennetaan docroot-tiedostoon. Dispatcher estää pääsyn stat-tiedostoon.

HUOM

Jos /statfileslevel on määritetty, Dispatcher ohittaa ominaisuuden /statfile ja käyttää nimenä .stat.

Vanhentuneiden asiakirjojen toimittaminen virheiden ilmetessä

/serveStaleOnError-ominaisuus määrittää, palauttaako Dispatcher mitätöityjä asiakirjoja, kun renderöintipalvelin palauttaa virheen. Oletusarvoisesti, kun tilastotiedostoa kosketetaan ja välimuistiin tallennettu sisältö mitätöityy, Dispatcher poistaa välimuistissa olevan sisällön seuraavan kerran, kun sitä pyydetään.

Jos /serveStaleOnError-asetuksena on "1", Dispatcher ei poista mitätöntä sisältöä välimuistista, ellei renderöintipalvelin palauta onnistunutta vastausta. 5xx-vastaus AEM:ltä tai yhteyden aikakatkaisu saa Dispatcherin palvelemaan vanhentunutta sisältöä ja vastaamaan HTTP-tilalla 111 (uudelleentarkistus epäonnistui).

Välimuisti, kun todennusta käytetään

Ominaisuus /allowAuthorized määrittää, tallennetaanko välimuistiin pyynnöt, jotka sisältävät jonkin seuraavista todennustiedoista:

ValtuutusotsikkoEväste nimeltä AuthorizationEväste nimeltä login-token

Oletusarvoisesti pyyntöjä, jotka sisältävät nämä todennustiedot, ei tallenneta välimuistiin, koska todennusta ei suoriteta, kun välimuistissa oleva asiakirja palautetaan asiakkaalle. Tämä määritys estää Dispatcheria tarjoamasta välimuistissa olevia asiakirjoja käyttäjille, joilla ei ole tarvittavia oikeuksia.

Jos vaatimukset kuitenkin sallivat todennettujen asiakirjojen välimuistin tallentamisen, aseta /allowAuthorized arvoksi yksi:

/allowAuthorized "1"

HUOM

Jotta voit ottaa istunnonhallinnan käyttöön (käyttämällä /sessionmanagement-ominaisuutta), /allowAuthorized-ominaisuuden arvo on oltava "0".

Välimuistiin tallennettavien asiakirjojen määrittäminen

/rules-ominaisuus ohjaa, mitkä asiakirjat tallennetaan välimuistiin asiakirjapolun mukaan. Riippumatta ominaisuudesta /rules, Dispatcher ei koskaan tallenna asiakirjaa välimuistiin seuraavissa olosuhteissa:

Jos pyynnön URI sisältää kysymysmerkin (?).

Tämä tarkoittaa yleensä dynaamista sivua, kuten hakutulosta, jota ei tarvitse tallentaa välimuistiin.

Tiedostotunniste puuttuu.

Web-palvelin tarvitsee laajennuksen määrittääkseen asiakirjan tyypin (MIME-tyyppi).

Todennusotsikko on asetettu (tämä voidaan määrittää).

Jos AEM-ilmentymä vastaa seuraavilla otsikoilla:

no-cacheno-storemust-revalidate

HUOM

Dispatcher voi tallentaa välimuistiin GET- tai HEAD-menetelmät (HTTP-otsikoille). Lisätietoja vastausotsikoiden välimuistista on osiossa HTTP-vastausotsikoiden välimuistiin tallentaminen.

Jokainen /rules-ominaisuuden kohde sisältää maapallokuvion ja tyypin:

Globaalikuviota käytetään vastaamaan asiakirjan polkua. Tyyppi ilmaisee, tallennetaanko glob-mallia vastaavat asiakirjat välimuistiin. Arvo voi olla joko sallia (asiakirjan välimuistiin tallentaminen) tai kieltää (asiakirjan hahmontamiseksi aina).

Jos sinulla ei ole dynaamisia sivuja (yllä olevien sääntöjen mukaan jo poissuljettujen sivujen lisäksi), voit määrittää Dispatcherin tallentamaan kaiken välimuistiin. . Tämän sääntöosio näyttää tältä:

/rules{/0000{/0000 glob "*" /type "allow" }}

Lisätietoja glob-ominaisuuksista on ohjeaiheessa Designing Patterns for glob Properties.

Jos sivullasi on dynaamisia osia (esimerkiksi uutissovellus) tai ne kuuluvat suljetulle käyttäjäryhmälle, voit määrittää poikkeuksia:

HUOM

Suljettuja käyttäjäryhmiä ei saa tallentaa välimuistiin, koska välimuistissa olevien sivujen käyttäjien oikeuksia ei tarkisteta.

/säännöt{ /0000{ /glob "*" /type "allow" } /0001{ /glob "/en/news/*" /type "kiellä" } /0002{ /glob "*/private/*" /type "kiellä"}}

Pakkaaminen

Apache-verkkopalvelimilla voit pakata välimuistissa olevat asiakirjat. Pakkauksen avulla Apache voi palauttaa asiakirjan pakattuna, jos asiakas sitä pyytää. Pakkaus tapahtuu automaattisesti ottamalla käyttöön Apache-moduuli mod_deflate, esimerkiksi:

AddOutputFilterByType DEFLATE text/plain

Moduuli asennetaan oletusarvoisesti Apache 2.x:n kanssa.

Tiedostojen mitätöiminen kansiotason mukaan

Käytä /statfileslevel-ominaisuutta mitätöidäksesi välimuistissa olevat tiedostot niiden polun mukaan:

Dispatcher luo .stat-tiedostoja jokaiseen kansioon docroot-kansiosta määrittämällesi tasolle. Docroot-kansio on tasolla 0.

Tiedostot mitätöidään koskettamalla .stat-tiedostoa. .stat-tiedoston viimeistä muokkauspäivää verrataan välimuistissa olevan asiakirjan viimeiseen muokkauspäivään. Asiakirja haetaan uudelleen, jos .stat-tiedosto on uudempi.

Kun tietyllä tasolla oleva tiedosto mitätöidään, kosketetaan kaikkia .stat-tiedostoja docrootista mitätöidyn tiedoston tasolle tai määritettyyn tilastotiedostotasoon (sen mukaan, kumpi on pienempi).

Esimerkki: jos asetat statfileslevel-ominaisuuden arvoksi 6 ja tiedosto mitätöidään tasolla 5, jokaista .stat-tiedostoa docrootista 5:een kosketetaan. Jatkaen tästä esimerkistä, jos tiedosto mitätöidään tasolla 7, jokainen . stat-tiedostoa docrootista 6:een kosketetaan (koska /statfileslevel = "6").

Vain resurssit mitätöityyn tiedostoon johtavan polun varrella. Harkitse seuraavaa esimerkkiä: verkkosivusto käyttää rakennetta /content/myWebsite/xx/. Jos asetat statfileslevel-tasolle 3, .statfile luodaan seuraavasti:

docroot/content/content/myWebsite/content/myWebsite/*xx*

Kun /content/myWebsite/xx-tiedosto mitätöidään, kosketetaan jokaista .stat-tiedostoa docrootista /content/myWebsite/xxis-tiedostoon. Tämä koskee vain /content/myWebsite/xx, ei esimerkiksi /content/myWebsite/yy tai /content/otherWebSite.

HUOM

Pidätys voidaan estää lähettämällä ylimääräinen otsikko CQ-Action-Scope:ResourceOnly. Tätä voidaan käyttää tiettyjen resurssien tyhjentämiseen mitätöimättä muita välimuistin osia. Katso lisätietoja tältä sivulta ja Dispatcher-välimuistin manuaalinen mitätöiminen.

HUOM

Jos määrität arvon /statfileslevel-ominaisuudelle, /statfile-ominaisuus ohitetaan.

Välimuistissa olevien tiedostojen automaattinen mitätöiminen

Ominaisuus /invalidate määrittää asiakirjat, jotka mitätöidään automaattisesti, kun sisältöä päivitetään.

Automaattisen mitätöinnin avulla Dispatcher ei poista välimuistissa olevia tiedostoja sisältöpäivityksen jälkeen, mutta tarkistaa niiden kelpoisuuden, kun niitä seuraavan kerran pyydetään. Välimuistissa olevat asiakirjat, joita ei ole automaattisesti mitätöity, pysyvät välimuistissa, kunnes sisältöpäivitys poistaa ne.

Automaattista mitätöintiä käytetään yleensä HTML-sivuilla. HTML-sivut sisältävät usein linkkejä muille sivuille, mikä tekee vaikeaksi määrittää, vaikuttaako sisältöpäivitys sivuun. Varmistaaksesi, että kaikki asiaankuuluvat sivut mitätöidään, kun sisältöä päivitetään, mitätöi kaikki HTML-sivut automaattisesti. Seuraava määritys mitätöi kaikki HTML-sivut:

/invalidate{ /0000{ /glob "*" /type "deny" } /0001{ /glob "*.html" /type "allow" }}

Lisätietoja glob-ominaisuuksista on ohjeaiheessa Designing Patterns for glob Properties.

Tämä määritys aiheuttaa seuraavan toiminnan, kun /content/wknd/us/en aktivoidaan:

Kaikki tiedostot, joiden malli on en.*, poistetaan /content/wknd/us-kansiosta. /content/wknd/us/en./_jcr_content-kansio poistetaan. Kaikkia muita /invalidate-määrityksiä vastaavia tiedostoja ei poisteta välittömästi . Nämä tiedostot poistetaan seuraavan pyynnön yhteydessä. Esimerkissämme /content/wknd.html ei poisteta, vaan se poistetaan, kun /content/wknd.html pyydetään.

Jos tarjoat automaattisesti luotuja PDF- ja ZIP-tiedostoja ladattavaksi, saatat joutua mitätöimään ne automaattisesti hyvin. Esimerkki kokoonpanosta näyttää seuraavalta:

/invalidate{ /0000 { /glob "*" /type "deny" } /0001 { /glob "*.html" /type "allow" } /0002 { /glob "*.zip" /type "allow" } / 0003 { /glob "*.pdf" /type "allow" }}

AEM-integraatio Adobe Analyticsin kanssa toimittaa määritystiedot verkkosivustosi analytics.sitecatalyst.js-tiedostossa. Dispatcherin mukana toimitettu esimerkki dispatcher.any-tiedosto sisältää seuraavan mitätöintisäännön tälle tiedostolle:

{ /glob "*/analytics.sitecatalyst.js"/type "allow"}

Omien mitätöintikomentosarjojen käyttäminen

/invalidateHandler-ominaisuuden avulla voit määrittää komentosarjan, jota kutsutaan jokaiselle vastaanotetulle mitätöintipyynnölle lähettäjä Dispatcher.

Se kutsutaan seuraavilla argumenteilla:

Käsittelijä – mitätöity sisältöpolku Toiminto – Replikointitoiminto (esim. Aktivoi, Deaktivoi) Toiminnon laajuus – Replikointitoiminnon laajuus (tyhjä, ellei CQ-Action-Scope: ResourceOnly-otsikkoa lähetetä, katso lisätietoja kohdasta Välimuistissa olevien sivujen kumoaminen AEM:stä )

Tätä voidaan käyttää useiden eri käyttötapausten kattamiseen, kuten muiden sovelluskohtaisten välimuistien mitätöimiseen tai tapauksiin, joissa sivun ulkoistettu URL-osoite ja sen paikka docrootissa eivät vastaa sisältöpolkua.

Alla esimerkkiskripti kirjaa jokaisen mitätöinnin pyynnön tiedostoon.

/invalidateHandler "/opt/dispatcher/scripts/invalidate.sh"esimerkki mitätöinnin käsittelijän komentosarjasta#!/bin/bashprintf "%-15s: %s %s" $1 $2 $3>> /opt/dispatcher/logs/invalidate.log

Välimuistin tyhjennettyjen asiakkaiden rajoittaminen

/allowedClients-ominaisuus määrittää tietyt asiakkaat, jotka saavat tyhjentää välimuistin. Maalauskuviot verrataan IP:ään.

Seuraava esimerkki:

kieltää pääsyn millekään asiakkaalle sallii pääsyn localhost/allowedClients-palveluun{ /0001 { /glob "*.*.*.*"/type "deny" } /0002 { /glob "127.0.0.1" /type "allow" }}

Lisätietoja glob-ominaisuuksista on ohjeaiheessa Designing Patterns for glob Properties.

VAROITUS

On suositeltavaa määrittää /allowedClients.

Jos näin ei tehdä, kuka tahansa asiakas voi pyytää välimuistin tyhjentämistä. jos tämä tehdään toistuvasti, se voi vaikuttaa vakavasti sivuston suorituskykyyn.

URL-parametrien ohittaminen

IgnoreUrlParams-osio määrittää, mitkä URL-parametrit ohitetaan määritettäessä, onko sivu välimuistissa vai toimitetaanko välimuistista:

Kun pyynnön URL-osoite sisältää parametreja, jotka kaikki ohitetaan, sivu tallennetaan välimuistiin. Kun pyynnön URL-osoite sisältää yhden tai useamman parametrin, jota ei ohiteta, sivua ei tallenneta välimuistiin.

Kun sivun parametri ohitetaan, sivu on välimuistissa, kun sivua pyydetään ensimmäisen kerran. Sivua koskevat myöhemmät pyynnöt toimitetaan välimuistissa olevalle sivulle riippumatta pyynnön parametrin arvosta.

Jos haluat määrittää, mitkä parametrit ohitetaan, lisää glob-säännöt ignoreUrlParams-ominaisuuteen:

Jos haluat ohittaa parametrin, luo glob-ominaisuus, joka sallii parametrin.Voit estää sivun tallentamisen välimuistiin luomalla glob-ominaisuuden, joka estää parametrin.

Seuraava esimerkki saa Dispatcherin ohittamaan q-parametrin, joten se pyytää URL-osoitteita, jotka sisältää q-parametrin ovat välimuistissa:

/ignoreUrlParams{/0001 { /glob "*" /type "deny" }/0002 { /glob "q" /type "allow" }}

Käyttäen esimerkkiä ignoreUrlParams-arvoa seuraava HTTP-pyyntö aiheuttaa sivun välimuistiin, koska q-parametri jätetään huomiotta:

GET /mypage.html?q=5

Käyttäen esimerkkiä ignoreUrlParams-arvoa seuraava HTTP-pyyntö aiheuttaa sen, että sivua ei tallenneta välimuistiin, koska p-parametria ei huomioida:

GET /mypage.html?q=5&p=4

Lisätietoja glob-ominaisuuksista on kohdassa Designing Patterns for glob Properties.

HUOM

Tämä ominaisuus on käytettävissä Dispatcherin versiossa 4.1.11.

/headers-ominaisuuden avulla voit määrittää HTTP-otsikkotyypit, jotka työnvälittäjä tallentaa välimuistiin. Ensimmäisessä välimuistissa olevalle resurssille lähetettäessä kaikki otsikot, jotka vastaavat yhtä määritetyistä arvoista (katso alla oleva määritysesimerkki), tallennetaan erilliseen tiedostoon välimuistitiedoston viereen. Myöhemmissä välimuistissa olevalle resurssille lähetetyissä pyynnöissä tallennetut otsikot lisätään vastaukseen.

Alla on esimerkki oletuskokoonpanosta:

/cache {.../headers {"Cache-Control""Content-Disposition""Content-Type""Expires""Last-Modified""X-Content-Type-Options""Viimeksi muokattu"}}

HUOM

Jos tarvitset Dispatcherin tallentamaan ja toimittamaan ETag-vastausotsikot AEM:ltä, toimi seuraavasti:

Lisää otsikon nimi kohtaan /cache/headerssection.Lisää seuraava Apache-käsky Dispatcheriin liittyvään osioon:FileETag none

Dispatcher Cache File Permissions

Tila-ominaisuus määrittää, mitä tiedostooikeuksia uusiin hakemistoihin sovelletaan. ja välimuistissa olevat tiedostot. Tätä asetusta rajoittaa kutsuprosessin umask. Se on oktaaliluku, joka on muodostettu yhden tai useamman seuraavista arvoista:

0400 Salli omistajan lukea.0200 Omistajan kirjoitus.0100 Salli omistajan tehdä hakuja hakemistoista.0040 Salli ryhmän jäsenten lukea.0020 Salli ryhmän jäsenten kirjoitus.0010 Salli ryhmän jäsenten tehdä hakuja hakemistosta.0004 Salli muiden lukea. .0002 Salli muiden kirjoittaa.0001 Salli muiden etsiä hakemistosta.

Oletusarvo on 0755, jonka avulla omistaja voi lukea, kirjoittaa tai etsiä ja ryhmä ja muut voivat lukea tai etsiä.

.stat-tiedoston kosketuksen rajoittaminen

Oletusarvolla /invalidate jokainen aktivointi mitätöi kaikki .html-tiedostot (kun niiden polku vastaa /invalidate-osiota). Sivustolla, jolla on paljon liikennettä, useat myöhemmät aktivoinnit lisäävät taustajärjestelmän suorittimen kuormitusta. Tällaisessa tilanteessa olisi toivottavaa "kuristaa" .stat-tiedostoa koskettamalla, jotta verkkosivusto pysyy reagoivana. Voit tehdä tämän käyttämällä ominaisuutta /gracePeriod.

Ominaisuus /gracePeriod määrittää, kuinka monta sekuntia vanhentunutta, automaattisesti mitätöityä resurssia voidaan edelleen palvella välimuistista viimeisen aktivoinnin jälkeen. Ominaisuutta voidaan käyttää asennuksessa, jossa aktivointierä muutoin mitätöisi koko välimuistin toistuvasti. Suositeltu arvo on 2 sekuntia.

Saat lisätietoja lukemalla myös yllä olevat /invalidate- ja /statfileslevel-osiot.

Aikapohjaisen välimuistin mitätöinnin määrittäminen - /enableTTL

Jos se on asetettu, /enableTTL-ominaisuus arvioi taustan vastausotsikot, ja jos ne sisältävät Cache-Controlin enimmäisiän tai vanhenemispäivämäärän, välimuistitiedoston viereen luodaan ylimääräinen, tyhjä tiedosto, jonka muokkausaika on yhtä suuri kuin viimeinen voimassaolopäivä. Kun välimuistissa olevaa tiedostoa pyydetään muokkausajan jälkeen, se pyydetään automaattisesti uudelleen taustajärjestelmästä.

HUOM

Tämä ominaisuus on saatavilla Dispatcherin versiossa 4.1.11 tai uudemmassa.

Kuormituksen tasapainotuksen määrittäminen - /tilastot

/statistiikka-osiossa määritellään tiedostoluokat, joiden osalta Dispatcher arvioi kunkin renderöinnin vasteen. Dispatcher käyttää pisteitä määrittääkseen, mikä renderöinti lähettää pyynnön.

Jokainen luomasi luokka määrittää maapallokuvion. Dispatcher vertaa pyydetyn sisällön URI:tä näihin malleihin määrittääkseen pyydetyn sisällön luokan:

Luokkien järjestys määrittää järjestyksen, jossa niitä verrataan URI:hen. Ensimmäinen URI:ta vastaava luokkamalli on tiedoston luokka. Luokkamalleja ei enää arvioida.

Dispatcher tukee enintään 8 tilastoluokkaa. Jos määrität enemmän kuin 8 luokkaa, vain 8 ensimmäistä käytetään.

Rennä valinta

Joka kerta kun Dispatcher vaatii renderöidyn sivun, se valitsee renderöinnin seuraavalla algoritmilla:

Jos pyyntö sisältää renderöintievästeen hahmonnusnimen, Dispatcher käyttää sitä.

Jos pyyntö ei sisällä renderöintievästettä, Dispatcher vertaa renderöintitilastoja:

Dispatcher määrittää pyynnön URI:n luokan. Dispatcher määrittää, millä renderöinnillä on alhaisin vastauspistemäärä kyseisessä luokassa, ja valitsee sen.

Jos hahmonnusta ei ole vielä valittu, käytä luettelon ensimmäistä renderöintiä.

Rennöinnin luokan pisteet perustuvat aikaisempiin vasteaikoihin sekä aikaisempiin epäonnistuneisiin ja onnistuneisiin yhteyksiin, joita Dispatcher yrittää. Jokaisen yrityksen kohdalla pyydetyn URI:n luokan pistemäärä päivitetään.

HUOM

Jos et käytä kuormituksen tasapainotusta, voit jättää tämän osion pois.

Tilastokategorioiden määrittäminen

Määritä luokka kullekin asiakirjatyypille, jolle haluat säilyttää tilastot renderöintivalintaa varten. /tilastot-osio sisältää /categories-osion. Voit määrittää luokan lisäämällä /categories-osion alle rivin, jonka muoto on seuraava:

/nimi { /glob "pattern"}

Luokan nimen on oltava maatilalle ainutlaatuinen. Malli on kuvattu osassa Designing Patterns for glob Properties.

Määrittääkseen URI:n luokan Dispatcher vertaa URI:ta kuhunkin luokkamalliin, kunnes vastaavuus löytyy. Dispatcher aloittaa luettelon ensimmäisestä kategoriasta ja jatkuu järjestyksessä. Sijoita siksi ensin luokat, joissa on tarkempia malleja.

Esimerkiksi Dispatcher oletusarvoinen dispatcher.any-tiedosto määrittää HTML-luokan ja muut luokan. HTML-luokka on tarkempi, joten se näkyy ensimmäisenä:

/tilastot{/categories{/html { /glob "*.html" }/others{ /glob "*" }}}

Seuraava esimerkki sisältää myös hakusivujen luokan:

/statistics{/categories{/search { /glob "*search.html" }/html { /glob "*.html" }/others{ /glob "*" }}}

Palvelimen epäkäytettävyyden osoittaminen Dispatcher Statisticsissa< /h3>

/unavailablePenalty-ominaisuus määrittää ajan (sekunnin kymmenesosissa), jota käytetään renderöintitilastoihin, kun yhteys renderöintiin epäonnistuu. Dispatcher lisää ajan tilastoluokkaan, joka vastaa pyydettyä URI:ta.

Rangaistus määrätään esimerkiksi silloin, kun TCP/IP-yhteyttä määritettyyn isäntänimeen/porttiin ei voida muodostaa joko siksi, että AEM ei ole käynnissä (eikä kuuntele) tai verkkoon liittyvän ongelman vuoksi.

Ominaisuus /unavailablePenalty on /farm-osion suora ali (/statistics-osion sisarus).

Jos /unavailablePenalty-ominaisuutta ei ole, käytetään arvoa "1".

/unavailablePenalty "1"

Tarkkayhteyskansion tunnistaminen - /stickyConnectionsFor

/stickyConnectionsFor-ominaisuus määrittää kansion, joka sisältää tarttuvia asiakirjoja. tähän päästään URL-osoitteen avulla. Dispatcher lähettää kaikki pyynnöt yhdeltä käyttäjältä, jotka ovat tässä kansiossa samaan renderointiinstanssiin. Tarttuvat yhteydet varmistavat, että istuntotiedot ovat läsnä ja yhdenmukaisia ​​kaikissa asiakirjoissa. Tämä mekanismi käyttää renderid-evästettä.

Seuraava esimerkki määrittelee pysyvän yhteyden /products-kansioon:

/stickyConnectionsFor "/products"

Kun sivu koostuu useiden sisältösolmujen sisällöstä, sisällytä /paths-ominaisuus, joka luettelee sisältöön johtavat polut. Sivu sisältää esimerkiksi sisältöä /content/image, /content/video ja /var/files/pdfs. Seuraava kokoonpano mahdollistaa pysyvät yhteydet koko sivun sisällölle:

/stickyConnections {/paths {"/content/image""/content/video""/var/files/pdfs"}}

httpOnly

Kun kiinteät yhteydet ovat käytössä, välitysmoduuli määrittää renderoidut evästeet. Tällä evästeellä ei ole httponly-merkkiä, joka tulisi lisätä turvallisuuden parantamiseksi. Voit tehdä tämän asettamalla httpOnly-ominaisuuden dispatcher.any-määritystiedoston /stickyConnections-solmuun. Ominaisuuden arvo (joko 0 tai 1) määrittää, onko renderid-evästeeseen liitetty HttpOnly-attribuutti. Oletusarvo on 0, mikä tarkoittaa, että määritettä ei lisätä.

Lisätietoja httponly-lipusta on tällä sivulla.

suojattu

Kun kiinteät yhteydet ovat käytössä, välitysmoduuli asettaa renderoidun evästeen. Tällä evästeellä ei ole suojattua lippua, joka tulisi lisätä turvallisuuden parantamiseksi. Voit tehdä tämän asettamalla suojatun ominaisuuden dispatcher.any-määritystiedoston /stickyConnections-solmuun. Ominaisuuden arvo (joko 0 tai 1) määrittää, onko renderoidussa evästeessä suojattu attribuutti liitettynä. Oletusarvo on 0, mikä tarkoittaa, että attribuutti lisätään, jos saapuva pyyntö on suojattu. Jos arvoksi on asetettu 1, suojattu lippu lisätään riippumatta siitä, onko saapuva pyyntö suojattu vai ei.

Renderointiyhteysvirheiden käsittely

Määritä Dispatcherin toiminta, kun renderöintipalvelin palauttaa 500-virheen tai ei ole käytettävissä.

Kuntotarkistussivun määrittäminen

Käytä ominaisuutta /health_check määrittääksesi URL-osoitteen, joka tarkistetaan, kun 500-tilakoodi esiintyy. Jos tämä sivu palauttaa myös tilakoodin 500, ilmentymän katsotaan olevan poissa käytöstä ja konfiguroitavaa aikarangaistusta ( /unavailablePenalty) sovelletaan renderöintiin ennen uudelleenyritystä.

/health_check{# Sivuun otetaan yhteyttä, kun ilmentymä palauttaa 500/url "/health_check.html"}

Sivun uudelleenyritysviiveen määrittäminen

/retryDelay-ominaisuus määrittää ajan (sekunteina), jonka Dispatcher odottaa yhteysyritysten välillä maatilan renderöintien kanssa. Jokaisella kierroksella Dispatcher yrittää muodostaa yhteyden renderöintiin enintään tilan renderöintien määrä.

Dispatcher käyttää arvoa "1", jos /retryDelay ei ole erikseen määritelty. Oletusarvo on sopiva useimmissa tapauksissa.

/retryDelay "1"

Uudelleenyritysten määrän määrittäminen

/numberOfRetries-ominaisuus määrittää yhteysyritysten enimmäismäärän, jonka Dispatcher tekee hahmonnuksilla. Jos Dispatcher ei voi muodostaa yhteyttä renderöintiin tämän uudelleenyritysten määrän jälkeen, Dispatcher palauttaa epäonnistuneen vastauksen.

Kullakin kierroksella Dispatcher yrittää muodostaa yhteyden renderöintiin enintään tilan renderöintien määrä. Siksi Dispatcherin suurin mahdollinen yhteysyritysten lukumäärä on ( /numberOfRetries) x (renderöityjen määrä).

Jos arvoa ei ole erikseen määritelty, oletusarvo on 5.

/numberOfRetries "5"

Varasiirtymismekanismin käyttäminen

Ota vikasietomekanismi käyttöön Dispatcher-farmasi lähettääksesi pyynnöt uudelleen eri hahmonnuksiin, kun alkuperäinen pyyntö epäonnistuu. Kun vikasieto on käytössä, Dispatcher toimii seuraavasti:

Kun renderöintipyyntö palauttaa HTTP-tilan 503 (EI SAATAVILLA), Dispatcher lähettää pyynnön toiseen hahmonnukseen. Kun renderöintipyyntö palauttaa HTTP-tilan 50x (muu kuin 503), Dispatcher lähettää pyynnön sivulle, joka on määritetty Health_check-ominaisuus.Jos kuntotarkistus palauttaa arvon 500 (INTERNAL_SERVER_ERROR), Dispatcher lähettää alkuperäisen pyynnön toiseen hahmonnukseen.Jos terveystarkistus palauttaa HTTP-tilan 200, Dispatcher palauttaa alkuperäisen HTTP 500 -virheen asiakkaalle.

Ota vikasieto käyttöön. , lisää seuraava rivi tilalle (tai verkkosivustolle):

/failover "1"

HUOMAA

Jos haluat yrittää uudelleen HTTP-pyyntöjä, jotka sisältävät tekstin, Dispatcher lähettää Odota: 100-continue -pyynnön otsikon renderöintiin ennen todellisen sisällön taustatulostusta. CQ 5.5 CQSE:llä vastaa sitten välittömästi joko 100:lla (CONTINUE) tai virhekoodilla. Myös muiden servlet-säiliöiden pitäisi tukea tätä.

Keskeytysvirheiden huomioiminen - /ignoreEINTR

VAROITUS

Tätä vaihtoehtoa ei yleensä tarvita. Sinun on käytettävä tätä vain, kun näet seuraavat lokiviestit:

Virhe luettaessa vastausta: Keskeytetty järjestelmäkutsu

Mikä tahansa tiedostojärjestelmäsuuntautunut järjestelmäkutsu voidaan keskeyttää EINTR, jos järjestelmäkutsun kohde sijaitsee etäjärjestelmässä, jota käytetään NFS:n kautta. Se, voivatko nämä järjestelmäkutsut aikakatkaista tai keskeytyä, riippuu siitä, miten taustalla oleva tiedostojärjestelmä on asennettu paikalliseen koneeseen.

Käytä /ignoreEINTR-parametria, jos ilmentymässäsi on tällainen kokoonpano ja loki sisältää seuraavan viestin:

Virhe luettaessa vastausta: Keskeytetty järjestelmäkutsu

Sisäisesti Dispatcher lukee vastauksen etäpalvelimelta (eli AEM:ltä) käyttämällä silmukkaa, joka voidaan esittää seuraavasti:

while (vastaus ei ole valmis) {read more data}

Tällaisia ​​viestejä voidaan luoda, kun EINTR esiintyy "lue lisää tietoja" -osiossa ja ne johtuvat signaalin vastaanotosta ennen kuin mitään dataa on vastaanotettu.

Jos haluat ohittaa tällaiset keskeytykset, voit lisätä seuraavan parametrin dispatcher.any-tiedostoon (ennen /farms):

/ignoreEINTR "1"

Jos /ignoreEINTR asetetaan arvoon 1, Dispatcher jatkaa tietojen lukemista, kunnes täydellinen vastaus on luettu. Oletusarvo on 0 ja poistaa vaihtoehdon käytöstä.

Glob-ominaisuuksien mallien suunnittelu

Useat Dispatcher-määritystiedoston osiot käyttävät glob-ominaisuuksia asiakaspyyntöjen valintaehtoina. Glob-ominaisuuksien arvot ovat malleja, joita Dispatcher vertaa johonkin pyynnön osa-alueeseen, kuten pyydetyn resurssin polkuun tai asiakkaan IP-osoitteeseen. Esimerkiksi /filter-osion kohteet käyttävät glob-malleja tunnistaakseen niiden sivujen polut, joihin Dispatcher toimii tai hylkää.

Glob-arvot voivat sisältää jokerimerkkejä ja aakkosnumeerisia merkkejä kuvion määrittelemiseksi.

Jokerimerkki characterDescriptionExamples*Vastaa nollaa tai useampaa merkkijonon peräkkäistä esiintymää. Vastaavuuden lopullinen merkki määräytyy jommallakummalla seuraavista tilanteista: Merkkijonossa oleva merkki vastaa kuvion seuraavaa merkkiä, ja kuvion merkillä on seuraavat ominaisuudet: Ei *Ei ?kirjaimellinen merkki (mukaan lukien välilyönti ) tai merkkiluokka. Kuvion loppu saavutetaan. Merkkiluokan sisällä merkki tulkitaan kirjaimellisesti.*/geo* Vastaa mitä tahansa /content/geometrixx- ja /content/geometrixx-outdoors-solmun alapuolella olevaa sivua. Seuraavat HTTP-pyynnöt vastaavat glob-mallia: "GET /content/geometrixx/en.html""GET /content/geometrixx-outdoors/en.html"*outdoors/* Vastaa mitä tahansa /content/geometrixx-outdoors-solmun alapuolella olevaa sivua. Esimerkiksi seuraava HTTP-pyyntö vastaa globaalia mallia: "GET /content/geometrixx-outdoors/en.html"? Vastaa mitä tahansa yksittäistä merkkiä. Käytä ulkopuolisia hahmoluokkia. Merkkiluokan sisällä tämä merkki tulkitaan kirjaimellisesti.*outdoors/??/* Vastaa minkä tahansa kielen geometriaxx-outdoors-sivuston sivuja. Esimerkiksi seuraava HTTP-pyyntö vastaa glob-mallia: "GET /content/geometrixx-outdoors/en/men.html"Seuraava pyyntö ei vastaa glob-mallia: "GET /content/geometrixx-outdoors/en.html" [ ja ] Merkitsee merkkiluokan alun ja lopun. Merkkiluokissa voi olla yksi tai useampi merkkialue ja yksittäinen merkki. Vastaavuus syntyy, jos kohdemerkki vastaa jotakin merkkiluokan merkkiä tai määritetyn alueen sisällä. Jos loppusulkea ei sisällytetä, kuvio ei tuota osumia. *[o]men.html* Vastaa seuraavaa HTTP-pyyntöä:"GET /content/geometrixx-outdoors/en/women.html"Ei vastaa seuraavaa HTTP-pyyntöä:"GET /content/geometrixx-outdoors/en/men. html" *[o/]men.html* Vastaa seuraavia HTTP-pyyntöjä: "GET /content/geometrixx-outdoors/en/women.html""GET /content/geometrixx-outdoors/en/men.html" - tarkoittaa hahmovalikoima. Käytetään merkkiluokissa. Merkkiluokan ulkopuolella tämä merkki tulkitaan kirjaimellisesti.*[m-p]men.html* Vastaa seuraavaa HTTP-pyyntöä: "GET /content/geometrixx-outdoors/en/women.html"Ei vastaa seuraava HTTP-pyyntö:"GET /content/geometrixx-outdoors/en/men.html"!Kilttaa seuraavan merkin tai merkkiluokan. Käytä vain merkkiluokkien sisällä olevien merkkien ja merkkialueiden kieltämiseen. Vastaa jokerimerkkiä ^. Merkkiluokan ulkopuolella tämä merkki tulkitaan kirjaimellisesti.*[!o]men.html* Vastaa seuraavaa HTTP-pyyntöä: "GET /content/geometrixx-outdoors/en/men.html"Ei vastaa seuraavaa HTTP-pyyntöä: "GET /content/geometrixx-outdoors/en/women.html"*[!o!/]men.html* Ei vastaa seuraavaa HTTP-pyyntöä:"GET /content/geometrixx-outdoors/en/women.html" tai "GET /content/geometrixx-outdoors/en/men. html"^ Sulkee pois seuraavan merkin tai merkkialueen. Käytä vain merkkiluokkien sisällä olevien merkkien ja merkkialueiden kieltämiseen. Vastaa ! jokerimerkki. Merkkiluokan ulkopuolella tämä merkki tulkitaan kirjaimellisesti. Esimerkit ! Käytä yleismerkkiä, joka korvaa ! merkkejä esimerkkimalleissa ^-merkillä.

Lokikirjaus

Verkkopalvelimen määrityksissä voit määrittää:

Dispatcher-lokitiedoston sijainti.Lokitaso.

Katso lisätietoja verkkopalvelimen dokumentaatiosta ja Dispatcher-esiintymän readme-tiedostosta.

Apache-kierretyt/putkilokit

Jos käytät Apache-verkkopalvelinta, voit käyttää vakiotoimintoja pyöritetyille ja/tai putkilokeille. Esimerkiksi putkilokien avulla:

DispatcherLog "| /usr/apache/bin/rotatelogs logs/dispatcher.log%Y%m%d 604800"

Tämä pyörii automaattisesti:

lähettäjän lokitiedosto; jossa on aikaleima laajennuksessa (logs/dispatcher.log%Y%m%d). viikoittain (60 x 60 x 24 x 7 = 604800 sekuntia).

Katso Apache-verkkopalvelimen dokumentaatio lokin rotaatiosta ja putkilokit; esimerkiksi Apache 2.4.

HUOM

Asennuksen yhteydessä oletuslokin taso on korkea (eli taso 3 = Debug), joten Dispatcher kirjaa kaikki virheet ja varoitukset lokiin. Tämä on erittäin hyödyllistä alkuvaiheessa.

Tämä vaatii kuitenkin lisäresursseja, joten kun Dispatcher toimii sujuvasti tarpeidesi mukaan, voit (pitäisi) laskea lokitasoa.

Trace Logging

Muiden Dispatcherin parannusten lisäksi versio 4.2.0 sisältää myös Trace Loggingin.

Tämä on korkeampi taso kuin virheenkorjausloki, ja se näyttää lisätietoja lokeissa. Se lisää kirjaamisen:

Edelleenlähetettyjen otsikoiden arvot; Tiettyyn toimintoon sovellettava sääntö.

Voit ottaa jäljityksen kirjaamisen käyttöön asettamalla verkkopalvelimessa lokitason 4.

Alla on esimerkki lokeista, joissa jäljitys on käytössä:

[Th Mar 03 16:05:38 2016] [T] [17183] request.headers[Host] = "localhost:8443"[Thu Mar 03 16:05:38 2016] [T] [17183] request.headers[ User-Agent] = "curl/7.43.0"[to maaliskuu 03 16:05:38 2016] [T] [17183] request.headers[Hyväksy] = "*/*"[to 03 16:05:38 2016] [T] [17183] request.headers[X-Forwarded-SSL-Client-Cert] = "(nolla)"[Th Mar 03 16:05:38 2016] [T] [17183] request.headers[Via ] = "1.1 localhost:8443 (välittäjä)"[To 03.03.16:05:38 2016] [T] [17183] request.headers[X-Forwarded-For] = "::1"[To 3.3.16: 05:38 2016] [T] [17183] request.headers[X-Forwarded-SSL] = "on"[Tto 03 16:05:38 2016] [T] [17183] request.headers[X-Forwarded- SSL-Cipher] = "DHE-RSA-AES256-SHA"[to 3. maaliskuuta 16:05:38 2016] [T] [17183] request.headers[X-Forwarded-SSL-Session-ID] = "ba931f5e4925c2dde6f7d14dde6f7d 7b91f4a4d51232a934ae"[ to 3. maaliskuuta 16:05:38 2016] [T] [17183] request.headers[X-Forwarded-Port] = "8443"[Th Mar 03 16:05:38 2016] [T] [17183] request.headers [Server-Agent] = "Communique-Dispatcher"

Ja tapahtuma kirjataan, kun estosääntöä vastaavaa tiedostoa pyydetään:

[Th Mar 03 14:42:45 2016] [T] [11831] "GET /content.infinity.json HTTP/1.1" estettiin, koska /0082

Perustoiminnon vahvistaminen

Vahvista Web-palvelimen, Dispatcherin ja AEM-ilmentymän perustoiminnot ja vuorovaikutus voit käyttää seuraavia vaiheita:

Aseta lokitasoksi 3.

Käynnistä verkkopalvelin; tämä käynnistää myös Dispatcherin.

Käynnistä AEM-instanssi.

Tarkista verkkopalvelimesi ja työnvälittäjän loki- ja virhetiedostot.

Verkkopalvelimestasi riippuen sinun pitäisi nähdä viestejä, kuten: [Thu May 30 05:16:36 2002] [huomautus] Apache/2.0.50 (Unix) määritetty ja [Fri Jan 19 17:22:16 2001] [I] [19096] Dispatcher alustettu (build XXXX)

Selaa verkkosivustoa verkkopalvelimen kautta. Varmista, että sisältöä näytetään vaaditulla tavalla.Esimerkiksi paikallisessa asennuksessa, jossa AEM toimii portissa 4502 ja verkkopalvelimessa 80, käytä Web-sivustojen konsolia käyttämällä molempia:

https://localhost:4502/libs/wcm/core/content/siteadmin.htmlhttps://localhost:80/libs/wcm/core/content/siteadmin.htmlTuloksen tulee olla identtinen. Vahvista pääsy muille sivuille samalla mekanismilla.

Tarkista, että välimuistihakemisto täyttyy.

Aktivoi sivu tarkistaaksesi, että välimuisti tyhjennetään oikein.

Jos kaikki toimii oikein, voit laskea lokitason nollaan.

Useiden työnvälittäjien käyttäminen

Monimutkaisissa asetuksissa voit käyttää useita työnvälittäjiä. Voit esimerkiksi käyttää:

yksi Dispatcher julkaisee verkkosivuston Intranetassa toinen Dispatcher, eri osoitteella ja eri suojausasetuksilla, julkaisemaan saman sisällön Internetissä.

Varmista tällöin, että jokainen pyyntö kulkee vain yhden Dispatcherin kautta. Välittäjä ei käsittele pyyntöjä, jotka tulevat toiselta työnvälittäjältä. Varmista siksi, että molemmat työnvälittäjät pääsevät suoraan AEM-verkkosivustoon.

Virheenkorjaus

Kun pyyntöön lisätään otsikko X-Dispatcher-Info, Dispatcher vastaa, oliko kohde välimuistissa, palautettiinko välimuistista vai ei ollenkaan. Vastauksen otsikko X-Cache-Info sisältää nämä tiedot luettavassa muodossa. Voit käyttää näitä vastausotsikoita virheenkorjaukseen, joka liittyy dispatcherin välimuistiin tallentamiin vastauksiin.

Tämä toiminto ei ole oletusarvoisesti käytössä, joten jotta vastausotsikko X-Cache-Info voidaan sisällyttää, maatilan on sisällettävä seuraava merkintä:

/info "1"

Esimerkiksi

/farm{/mywebsite{# Sisällytä X-Cache-Info-vastausotsikko, jos X-Dispatcher-Info on pyynnön otsikossa/infossa "1"}}

Lisäksi X-Dispatcher-Info-otsikko ei tarvitse arvoa, mutta jos käytät curl testaukseen, sinun on annettava arvo, jotta voit lähettää otsikon, kuten:

curl -v -H "X-Dispatcher-Info: true" https://localhost/content/wknd/us/en.html

Alla on luettelo vastausotsikoista, jotka X-Dispatcher-Info palauttaa:

cachedKohdetiedosto on välimuistissa ja lähettäjä on määrittänyt, että se on kelvollinen toimittamaan it.cachingKohdetiedostoa ei ole välimuistissa ja lähettäjä on määrittänyt, että se on kelvollinen tallentaa tulosteen välimuistiin ja toimittaa sen.caching: stat-tiedosto on uudempiKohdetiedosto on välimuistissa, mutta uudempi stat-tiedosto mitätöi sen. Välittäjä poistaa kohdetiedoston, luo sen uudelleen tulosteesta ja toimittaa sen.not cacheable: no document root Farmin määritykset eivät sisällä asiakirjan juuria (määrityselementti cache.docroot).ei välimuistissa: välimuistitiedoston polku liian pitkäKohdetiedosto - asiakirjan juuri- ja URL-tiedoston ketjutus - ylittää järjestelmän pisimmän mahdollisen tiedostonimen. ei välimuistiin tallennettavissa: väliaikainen tiedostopolku liian pitkä Väliaikainen tiedostonimimalli ylittää järjestelmän pisimmän mahdollisen tiedostonimen. Välittäjä luo ensin väliaikaisen tiedoston, ennen kuin luo tai korvaa välimuistissa olevan tiedoston. Väliaikainen tiedostonimi on kohdetiedoston nimi, johon on liitetty merkkejä _YYYYXXXXXX, jossa Y ja X korvataan yksilöllisen nimen luomiseksi. Ei välimuistiin tallennettavissa: pyynnön URL-osoitteella ei ole laajennustaPyynnön URL-osoitteella ei ole tunnistetta tai siinä on polku seuraamalla tiedostotunnistetta, esimerkiksi: /test.html/a/path.not cacheable: pyyntö ei ollut GET tai HEAD HTTP-menetelmä ei ole GET eikä HEAD. Välittäjä olettaa, että tulos sisältää dynaamisia tietoja, joita ei pitäisi tallentaa välimuistiin.not cacheable: pyyntö sisälsi kyselymerkkijononPyyntö sisälsi kyselymerkkijonon. Välittäjä olettaa, että tulos riippuu annetusta kyselymerkkijonosta, joten se ei tallenna välimuistiin.not cacheable: istunnonhallinta ei todentanut Tilan välimuistia hallitsee istunnonhallinta (kokoonpano sisältää istunnonhallintasolmun) ja pyyntö ei sisältävät asianmukaiset todennustiedot.ei välimuistiin tallennettavissa: pyyntö sisältää valtuutuksen Farm ei saa tallentaa tulosteen välimuistiin (allowAuthorized 0) ja pyyntö sisältää todennustiedot.ei välimuistissa: kohde on hakemistoKohdetiedosto on hakemisto. Tämä saattaa viitata käsitteelliseen virheeseen, jossa URL-osoite ja ali-URL-osoite sisältävät molemmat välimuistiin tallennettavan tulosteen, esimerkiksi jos /test.html/a/file.ext-pyyntö tulee ensin ja sisältää välimuistiin tallennettavan tulosteen, lähettäjä ei voi välimuistiin myöhemmän pyynnön tulos /test.html.not cacheable: pyynnön URL-osoitteessa on perään vinoviiva Pyynnön URL-osoitteen lopussa on vinoviiva.not cacheable: pyynnön URL-osoite ei ole välimuistisäännöissä. URL.not cacheable: valtuutuksen tarkistus estetty pääsy Maatilan valtuutustarkistus esti pääsyn välimuistiin tallennettuun tiedostoon.not cacheable: istunto ei kelpaa Farmin välimuistia hallitsee istunnonhallinta (kokoonpano sisältää istunnonhallintasolmun) ja käyttäjän istunto ei ole tai ei ole enää kelvollinen .not cacheable: vastaus sisältää no_cacheEtäpalvelin palautti Dispatcher: no_cache -otsikon, joka estää lähettäjää tallentamasta tulostetta välimuistiin.not cacheable: vastauksen sisällön pituus on nollaVastauksen sisällön pituus on nolla; lähettäjä ei luo nollapituista tiedostoa.

PREV: Korjaus: DHCP-palvelinvirheeseen ei saada yhteyttä Windows 7, 8 ...

NEXT: DHCP:n korjaaminen ei ole käytössä Wi-Fi:ssä Windowsissa - Auslogics-blogi

Popular Articles

Hot Articles

Navigation Lists

Back to Top