Kaŝmemoro malantaŭ VPN: kion HTTPS ankoraŭ kaŝas
Prokura servilo ĉe la eliro de VPN ankoraŭ ne povas legi HTTPS de fino al fino. Elektu kaŝeblan laborŝarĝon kaj konscian TLS-limon antaŭ ol aldoni alian servilon.
Kaŝmemoro apud la VPN-servilo sonas kiel senpaga bando por ĉiuj malantaŭ la tunelo. Ĝi ne estas, ĉar la bajtoj pasantaj tiun punkton restas protektitaj de TLS-sesio, kies finoj estas la retumilo kaj la retejo. La VPN-pordego forigas nur sian propran eksteran ĉifradon, ne tiun de la aplikaĵo. Decidu, kiun ripetan objekton vi volas reuzi, antaŭ ol aldoni aparataron.
La TLS-sesio apartenas al la retumilo
En ordinara HTTPS la retumilo interkonsentas ŝlosilojn kun la retejo, kaj ĉiu rikordo post la manpremo estas ĉifrita por tiu paro da finoj. VPN-pordego malĉifras la tunelon, kiun ĝi kreis, kaj poste plusendas netravideblajn TLS-rikordojn. Ĝi vidas celojn, tempon kaj volumon, ne la petan linion aŭ la respondan korpon. Tiu estas la limo, kun kiu devas vivi ĉiu kaŝmemoro.
Ĉiu dezajno, kiu rompas ĝin, estas TLS-interkapta dezajno, kun propraj sekvoj por atestila fido kaj aparata administrado.
CONNECT estas tunelo, ne kaŝmemoro
Eksplicita antaŭen-prokura servilo kutime ricevas HTTP CONNECT-peton kaj poste plusendas bajtojn en ambaŭ direktoj. Plusendo estas la decida vorto: la prokura servilo ne analizas la ĉifritan konversacion.
curl -sSI -x http://proxy.example:3128 https://example.com/La respondaj kaplinioj venas de la tunela prilaboro de la prokura servilo, ne de kaŝita kopio de la paĝo. Sukcesa CONNECT signifas, ke la vojo funkcias, ne ke io estis konservita por reuzo. Montri pordon 443 al kaŝmemoro ankaŭ ne instruas ĝin paroli TLS, ĉar kaŝado postulas legeblajn mesaĝojn. La klienta agordo devas uzi la subtenatan eksplicitan prokuran agordon anstataŭ neklarigita alidirektado.
Kaŝu tion, kion vi administras, ne tion, kion vi retumas
Kie la enhavo estas via, inversa prokura servilo povas fini TLS kaj intence konservi aprobitajn respondojn. Kie ĝi apartenas al paka deponejo, uzu la spegulon, kiun la projekto subtenas.
nginx -T | grep -n "proxy_cache"
curl -sSI https://mirror.example/pkg/index.json | grep -i -E "cache-control|age"La unua komando montras, ĉu kaŝzono estas agordita kaj kie ĝi validas, dum la dua montras la proprajn kaŝajn direktivojn de la origino por unu objekto. Komunigita kaŝmemoro devas respekti freŝecon, kaŝajn regilojn kaj la petajn atributojn, kiuj distingas reprezentojn; private kaj no-store signifas malsamajn aferojn kaj neniu el ili forigindas por plialtigi trafprocenton. HTTP-kaŝaj reguloj ankaŭ limigas konservadon de respondoj al aŭtentikigitaj petoj, kaj ĝuste tie personigita paĝo fariĝas datumelmontro. Tenu la prokuran servilon limigita al aprobitaj klientoj anstataŭ elmeti malfermitan plusendilon.
Mezuru la trafon, ne la klikhorloĝon
Pli rapida dua peto ne pruvas, ke la nova kaŝmemoro ion faris, ĉar retumiloj kaj operaciumoj mem kaŝas agreseme. Petu de la prokura servilo trafajn kaj maltrafajn nombrilojn kaj observu la originan trafikon dum kontrolita ripeto. Uzu unu ripetan elŝuton de konata objekto, unue kun la kaŝmemoro ŝaltita kaj poste preterpasita, kaj komparu la bajtojn servitajn de la origino anstataŭ la pasintan tempon. Poste kontrolu la rajtigan limon: rimedo, kiu postulas ensaluton, ne rajtas esti servita al alia kliento.
Notu la laborŝarĝon, la kaŝan ŝlosilon kaj la politikon, kiu permesis reuzon. Kaŝmemoro estas decido pri datuma kunhavigo en optimumiga kostumo.