VPN వెనుక క్యాషింగ్: HTTPS ఇంకా దాచేది ఏమిటి
VPN నిష్క్రమణలోని ప్రాక్సీ ఇంకా ఎండ్-టు-ఎండ్ HTTPS చదవలేదు. మరో సర్వర్ జోడించే ముందు క్యాష్ చేయగల పనిభారాన్ని మరియు ఉద్దేశపూర్వకంగా నిర్ణయించిన TLS సరిహద్దును ఎంచుకోండి.
VPN సర్వర్ పక్కన క్యాష్ టన్నెల్ వెనుక ఉన్న అందరికీ ఉచిత బ్యాండ్విడ్త్లా అనిపిస్తుంది. కానీ అలా కాదు, ఎందుకంటే ఆ బిందువు గుండా వెళ్లే బైట్లు బ్రౌజర్ మరియు వెబ్సైట్ చివరలుగా ఉన్న TLS సెషన్ ద్వారా రక్షించబడతాయి. VPN గేట్వే తన స్వంత బాహ్య ఎన్క్రిప్షన్ను మాత్రమే తొలగిస్తుంది, యాప్ది కాదు. హార్డ్వేర్ జోడించే ముందు ఏ పునరావృత వస్తువును తిరిగి ఉపయోగించాలో నిర్ణయించుకోండి.
TLS సెషన్ బ్రౌజర్ది
సాధారణ HTTPS లో బ్రౌజర్ సైట్తో కీలను చర్చిస్తుంది, మరియు హ్యాండ్షేక్ తర్వాత ప్రతి రికార్డు ఆ చివరల జోడి కోసం ఎన్క్రిప్ట్ అవుతుంది. VPN గేట్వే తాను సృష్టించిన టన్నెల్ను డీక్రిప్ట్ చేసి, తర్వాత అపారదర్శక TLS రికార్డులను పంపుతుంది. అది గమ్యాలు, సమయం మరియు పరిమాణాన్ని చూడగలదు, అభ్యర్థన లైన్ లేదా ప్రతిస్పందన బాడీని కాదు. ఏ క్యాష్ అయినా జీవించాల్సిన సరిహద్దు అదే.
దాన్ని బద్దలు కొట్టే ఏ డిజైన్ అయినా TLS ఇంటర్సెప్షన్ డిజైన్, సర్టిఫికెట్ విశ్వాసం మరియు పరికర నిర్వహణలో దాని స్వంత పరిణామాలతో.
CONNECT ఒక టన్నెల్, క్యాష్ కాదు
స్పష్టమైన ఫార్వర్డ్ ప్రాక్సీ సాధారణంగా HTTP CONNECT అభ్యర్థనను స్వీకరించి, తర్వాత రెండు దిశల్లో బైట్లను రిలే చేస్తుంది. రిలే అనేది ముఖ్య పదం: ప్రాక్సీ ఎన్క్రిప్ట్ చేసిన సంభాషణను విశ్లేషించదు.
curl -sSI -x http://proxy.example:3128 https://example.com/ప్రతిస్పందన హెడర్లు ప్రాక్సీ టన్నెల్ నిర్వహణ నుండి వస్తాయి, పేజీ క్యాష్ కాపీ నుండి కాదు. విజయవంతమైన CONNECT అంటే మార్గం పనిచేస్తుంది, తిరిగి ఉపయోగించడానికి ఏదో నిల్వ చేయబడింది అని కాదు. పోర్ట్ 443 ను క్యాష్ వైపు తిప్పడం దానికి TLS మాట్లాడటం నేర్పదు, ఎందుకంటే క్యాషింగ్కు చదవగలిగే సందేశాలు కావాలి. క్లయింట్ కాన్ఫిగరేషన్ మద్దతున్న స్పష్టమైన ప్రాక్సీ సెట్టింగ్ను ఉపయోగించాలి, వివరణ లేని రీడైరెక్ట్ కాదు.
మీరు నిర్వహించేది క్యాష్ చేయండి, బ్రౌజ్ చేసేది కాదు
కంటెంట్ మీదైతే, రివర్స్ ప్రాక్సీ TLS ముగించి ఆమోదించిన ప్రతిస్పందనలను ఉద్దేశపూర్వకంగా నిల్వ చేయగలదు. అది ప్యాకేజీ నిల్వకు చెందితే, ప్రాజెక్ట్ మద్దతిచ్చే అద్దాన్ని ఉపయోగించండి.
nginx -T | grep -n "proxy_cache"
curl -sSI https://mirror.example/pkg/index.json | grep -i -E "cache-control|age"మొదటి ఆదేశం క్యాష్ జోన్ కాన్ఫిగర్ చేయబడిందా, ఎక్కడ వర్తిస్తుందా చూపుతుంది, రెండవది ఒక వస్తువు కోసం మూలం యొక్క స్వంత క్యాషింగ్ సూచనలను చూపుతుంది. పంచుకున్న క్యాష్ తాజాదనం, క్యాష్ నియంత్రణలు మరియు ప్రాతినిధ్యాలను వేరు చేసే అభ్యర్థన లక్షణాలను గౌరవించాలి; private మరియు no-store వేర్వేరు అర్థాలను ఇస్తాయి మరియు హిట్ రేటు పెంచడానికి ఏదీ తీసివేయకూడదు. HTTP క్యాషింగ్ నియమాలు ధృవీకరించిన అభ్యర్థనల ప్రతిస్పందనలను నిల్వ చేయడాన్ని కూడా పరిమితం చేస్తాయి, మరియు అక్కడే వ్యక్తిగత పేజీ డేటా బహిర్గతం అవుతుంది. ప్రాక్సీని బహిరంగ రిలేగా చూపించకుండా ఆమోదించిన క్లయింట్లకు పరిమితం చేయండి.
హిట్ను కొలవండి, స్టాప్వాచ్ కాదు
వేగవంతమైన రెండవ అభ్యర్థన కొత్త క్యాష్ ఏదో చేసిందని నిరూపించదు, ఎందుకంటే బ్రౌజర్లు మరియు ఆపరేటింగ్ సిస్టమ్లు తామే ఆక్రమణాత్మకంగా క్యాష్ చేస్తాయి. ప్రాక్సీ నుండి హిట్ మరియు మిస్ కౌంటర్లను అడగండి, నియంత్రిత పునరావృతి సమయంలో మూల ట్రాఫిక్ను గమనించండి. తెలిసిన వస్తువు యొక్క ఒక పునరావృత డౌన్లోడ్ను ఉపయోగించి, మొదట క్యాష్ ఆన్ చేసి తర్వాత బైపాస్ చేసి, గడిచిన సమయం కాదు, మూలం అందించిన బైట్లను పోల్చండి. తర్వాత అధికార సరిహద్దును తనిఖీ చేయండి: లాగిన్ అవసరమయ్యే వనరు మరో క్లయింట్కు ఇవ్వకూడదు.
పనిభారం, క్యాష్ కీ మరియు తిరిగి ఉపయోగానికి అనుమతించిన విధానాన్ని నమోదు చేయండి. క్యాష్ అనేది ఆప్టిమైజేషన్ వేషంలో ఉన్న డేటా భాగస్వామ్య నిర్ణయం.