Parent-palvelimen määrittäminen Squidissä ei yksin tarkoita, että jokaisen välitettävän pyynnön täytyy käyttää sitä. Jos suora reitti rikkoisi käytäntöäsi, määritä vaatimus erikseen ja testaa toiminta parentin ollessa poissa käytöstä.

Tämä Squid 6.13 -esimerkki nimeää yhden parentin ja kieltää suoran välityksen alkuperäpalvelimelle yhdeltä asiakaslähteeltä:

cache_peer 192.0.2.20 parent 3128 0 no-query default name=upstream
acl routed_client src 198.51.100.27/32
never_direct allow routed_client

Molemmat osoitteet ovat paikkamerkkejä. Valitse hallittuun ylävirtatestiin, jossa julkiset HTTP-parentit sallitaan, osoite HTTP-välityspalvelinluettelosta. Säilytä erillinen http_access-käytäntö, joka sallii vain tarkoitetut asiakkaat. Reitityssääntö ei anna asiakkaalle lupaa käyttää välityspalvelinta.

Tarkista olemassa olevat reitityssäännöt

no-query poistaa ICP-kyselyt tälle vertaiselle. Nolla on vertaisen kyselyportti, ei HTTP-kuuntelija. Asiakkaan puoleinen kuuntelija ja sen pääsysäännöt pysyvät erillisinä.

Tarkista nykyiset always_direct-asetukset ja muut vertaisvalinnat ennen tämän lohkon lisäämistä. Osuman kieltäminen kohdassa always_direct ei itsessään vaadi parentia. Erillinen never-direct-sääntö ilmaisee tämän vaatimuksen valitulle asiakkaalle.

Tämä ohjaa välitystä tarvitsevia tapahtumia. Käyttökelpoinen paikallinen välimuistimerkintä voidaan toimittaa ottamatta yhteyttä parentiin, joten uuden parent-yhteyden puuttuminen ei automaattisesti riko reititystä.

Tarkista reitti ja virhetilanteen toiminta

Käytä hallittua kohdetta ja vertaa pääsylokin hierarkiatietoja kohteen havaintoihin. Pelkkä lopullinen HTTP-tila ei kerro, käyttikö Squid parentia vai suoraa reittiä.

Tee parent huoltotestissä saavuttamattomaksi ja toista sama välimuistittamaton pyyntö. Jos käytäntö kieltää suoran välityksen, tapahtuman tulee epäonnistua eikä päästä alkuperäpalvelimelle toista reittiä. Tee tämä vain hallitsemillesi palveluille ja palauta haluttu määritys jälkeenpäin.

Aiheeseen liittyvät artikkelit