VPN-serveri kõrval olev vahemälu kõlab nagu tasuta ribalaius kõigile tunnelitagustele. See pole nii, sest sellest punktist läbivad baidid on kaitstud TLS-seansi poolt, mille otspunktid on brauser ja veebisait. VPN-lüüs eemaldab ainult oma välise krüpteeringu, mitte rakenduse oma. Otsustage, millist korduvat objekti tahate uuesti kasutada, enne kui riistvara lisate.

TLS-seanss kuulub brauserile

Tavalises HTTPS-is lepib brauser saidiga võtmed kokku ja iga kirje pärast kätlust on selle otspunktide paari jaoks krüpteeritud. VPN-lüüs dekrüpteerib loodud tunneli ja edastab seejärel läbipaistmatuid TLS-kirjeid. See näeb sihtkohti, ajastust ja mahtu, mitte päringurida ega vastuse sisu. See on piir, millega iga vahemälu peab elama.

Iga disain, mis selle rikub, on TLS-i vaheltkuulamise disain, millel on oma tagajärjed sertifikaatide usaldusele ja seadmehaldusele.

CONNECT on tunnel, mitte vahemälu

Selge edasipuhverserver saab tavaliselt HTTP CONNECT-päringu ja edastab seejärel baidid mõlemas suunas. Edastamine on märksõna: puhverserver ei parsi krüpteeritud vestlust.

curl -sSI -x http://proxy.example:3128 https://example.com/

Vastuse päised tulevad puhverserveri tunnelikäsitlusest, mitte lehe vahemällu salvestatud koopiast. Õnnestunud CONNECT tähendab, et tee töötab, mitte et midagi säilitati uuesti kasutamiseks. Pordi 443 suunamine vahemälule ei õpeta teda ka TLS-i rääkima, sest vahemälustamine nõuab loetavaid sõnumeid. Kliendi konfiguratsioon peab kasutama toetatud selget puhverserveri seadet, mitte selgitamata ümbersuunamist.

Vahemällu salvestage see, mida haldute, mitte see, mida sirvite

Kui sisu on teie oma, saab vastupuhverserver TLS-i lõpetada ja kinnitatud vastused teadlikult salvestada. Kui see kuulub paketihoidlale, kasutage peeglit, mida projekt toetab.

nginx -T | grep -n "proxy_cache"
curl -sSI https://mirror.example/pkg/index.json | grep -i -E "cache-control|age"

Esimene käsk näitab, kas vahemälutsoon on seadistatud ja kus see kehtib, teine aga näitab allika enda vahemälustamisdirektiive ühe objekti jaoks. Jagatud vahemälu peab austama värskust, vahemälukontrolle ja päringu atribuute, mis eristavad esitusi; private ja no-store tähendavad erinevat asja ja kumbagi ei tohiks tabamussuhte tõstmiseks eemaldada. HTTP vahemälureeglid piiravad ka vastuste salvestamist autenditud päringute jaoks, ja täpselt seal muutub isikupärastatud leht andmete paljastamiseks. Hoidke puhverserver piiratud kinnitatud klientidega, selle asemel et avada avatud relee.

Mõõtke tabamust, mitte stopperit

Kiirem teine päring ei tõesta, et uus vahemälu midagi tegi, sest brauserid ja operatsioonisüsteemid vahemälustavad ise agressiivselt. Küsige puhverserverilt tabamuste ja möödalaskmiste loendureid ning jälgige allika liiklust kontrollitud korduse ajal. Kasutage ühte korduvat tuntud objekti allalaadimist, kõigepealt vahemälu lubatud ja seejärel mööda mindud, ning võrrelge allika serveeritud baite, mitte kulunud aega. Seejärel kontrollige autoriseerimispiiri: ressurssi, mis nõuab sisselogimist, ei tohi serveerida teisele kliendile.

Kirjutage üles töökoormus, vahemäluvõti ja poliitika, mis korduskasutuse lubas. Vahemälu on andmejagamise otsus optimeerimiskostüümis.

Seotud artiklid