Кількість проксі-серверів здатних працювати в "прозорому" режимі дуже невелика, і велика частина з них або має обмежений функціонал, або споживає занадто багато ресурсів, що для проксі-серверів невеликих компаній не прийнятно.
Однак є величезна кількість легких і досить функціональних проксі-серверів, єдиним недоліком яких є неможливість працювати в "прозорому" режимі. Однак цю проблему можна можна вирішити використовуючи пакет transproxy. за допомогою якого будь-який проксі сервер можна запустити в "прозорому" режимі.
Насправді transproxy це фактично прозорий проксі-сервер, який вміє тільки перенаправляти всі запити на якийсь вищий проксі-сервер. Далі буде показано як запустимо кешуючий проксі-сервер polipo в прозорому режимі використовуючи transproxy на сервері під керуванням Debian / Ubuntu. Але спочатку опеределить початкові умови:
Набагато зручніше виявився проксі-сервер polipo, який дуже непогано кешируєт трафік і при цьому споживає в процесі роботи всього близько семи мегабайт пам'яті.
Отже. Для початку встановимо polipo і transproxy:
Далі приступаємо до налаштування polipo. Насамперед створюємо директорію для зберігання кешу:
Далі дописуємо в файл / etc / polipo / config наступні рядки:
Після чого перезапускаємо polipo:
Тобто фактично замінюємо порт "батьківського" проксі, оскільки polipo за замовчуванням слухає на порту 8123 а не на 3128.
Залишилося "загорнути" http-трафік на transproxy. Для цього цілком підійде скрипт, описаний тут. Фактично модифікувати потрібно тільки порт, на який перенаправляються запити. У підсумку скрипт буде виглядати приблизно так:
Слід так само відзначити що для кожної http-сесії створюється окремий процес tproxy, що займає в пам'яті близько двохсот кілобайт. Але при кількості одночасних сесій не більше десяти-п'ятнадцяти це не критично.
На цій мабуть все. Приємної роботи!