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 кэштеу ережелері расталған сұрауларға жауап сақтауды да шектейді, және дәл сол жерде жекелендірілген бет деректердің жариялануына айналады. Проксиді ашық реле ретінде көрсетудің орнына мақұлданған клиенттермен шектеңіз.
Хитті өлшеңіз, секундомерді емес
Жылдамырақ екінші сұрау жаңа кэш бірдеңе жасағанын дәлелдемейді, өйткені браузерлер мен операциялық жүйелер өздігінен агрессивті кэштейді. Проксиден хит пен мис есептегіштерін сұрап, бақыланатын қайталау кезінде бастапқы көз трафигін бақылаңыз. Белгілі нысанның бір қайталанатын жүктелуін пайдаланып, алдымен кэш қосулы, кейін оны айналып өтіп, өткен уақытты емес, бастапқы көз берген байттарды салыстырыңыз. Содан кейін авторизация шекарасын тексеріңіз: кіру қажет ресурс басқа клиентке берілмеуі керек.
Жүктемені, кэш кілтін және қайта пайдалануға рұқсат берген саясатты жазыңыз. Кэш — оңтайландыру костюмін киген деректерді бөлісу шешімі.