Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Squid - Listen on multiple ports and forward to different proxy

I would like to setup a proxy that listens for multiple ports and each port forwards the requests to different proxies, for example:

LISTEN          FORWARD TO 
1.2.3.4:3128 -> 5.6.7.8:3128
1.2.3.4:3129 -> 5.6.7.9:3128
1.2.3.4:3130 -> 5.6.7.10:3128

Is this possible to implement with squid?

I have configured this so far:

cache_peer 5.6.7.8 parent 3128 0000 default no-query no-digest
cache_peer 5.6.7.9 parent 3128 0000 default no-query no-digest
cache_peer 5.6.7.10 parent 3128 0000 default no-query no-digest

http_port 3128
http_port 3129
http_port 3130

I don't know how to handle the redirection

like image 597
mwiggs Avatar asked Aug 30 '17 17:08

mwiggs


1 Answers

You are missing cache_peer_access and the acl.

Try this config:

acl port_1 localport 3128
acl port_2 localport 3129
acl port_3 localport 3130 # I woudn't use this one, This is reserved for ICP

http_port 3128
http_port 3129
http_port 3130

cache_peer 5.6.7.8 parent 3128 0 name=host_1
cache_peer 5.6.7.9 parent 3128 0 name=host_2
cache_peer 5.6.7.10 parent 3128 0 name=host_3

cache_peer_access host_1 allow port_1
cache_peer_access host_2 allow port_2
cache_peer_access host_3 allow port_3

never_direct allow all # Tells your squid to never use its own internet connection to process the requests. If your parent proxy won't work it will return an Error.   

GL!

like image 99
David Castañeda Avatar answered Sep 18 '22 11:09

David Castañeda