Назад | Перейти на главную страницу

Squid прозрачный прокси только для исходящего трафика

У меня есть сервер Rails, который немного перегружен API, и поэтому я хочу запустить прозрачный прокси-сервер с кэшированием Squid между всеми действиями порта 80 и реальным миром. Однако мне не нужен входящий трафик для прохождения этого прокси-сервера Squid. Например

Rails -> Squid -> Internet
Internet -> Rails

Я не могу представить, что это необычная установка, но я не могу найти никаких примеров в Интернете. Следуя прозрачным руководствам по Squid, только что закончилось, что весь входящий трафик попадает на прокси-сервер Squid, а исходящий трафик, похоже, проходит мимо него (хотя я не уверен в этом).

Вот это ifconfigвывод. Думаю, это будет актуально для любых ответов.

eth0      Link encap:Ethernet  HWaddr f2:3c:91:ae:33:6b  
      inet addr:176.58.105.173  Bcast:176.58.105.255  Mask:255.255.255.0
      inet6 addr: fe80::f03c:91ff:feae:336b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:330029 errors:0 dropped:0 overruns:0 frame:0
      TX packets:185242 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:333723993 (333.7 MB)  TX bytes:34410551 (34.4 MB)
      Interrupt:44 

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:684735 errors:0 dropped:0 overruns:0 frame:0
      TX packets:684735 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:54837497 (54.8 MB)  TX bytes:54837497 (54.8 MB)

Я бы не стал утруждать себя настройкой прозрачного прокси. Вместо этого просто запустите Squid на 127.0.0.1:3128, а затем используйте материал Net :: HTTP :: Proxy для вызовов API. Документация здесь. Я не рекомендую для начала прокачивать все через прокси, а перемещаться по конкретным вызовам, пока вы не освоитесь с настройкой.

Что касается размера вашего кэша Squid, если вы выделите кеш 128 МБ, Squid будет использовать примерно 196 МБ, включая кеш и накладные расходы. Если вы думаете, что собираетесь приблизиться к максимальному объему памяти машины, я бы установил некоторый мониторинг пространства подкачки, который обычно является вашим лучшим индикатором того, что вы переписали память.