I'm learning how to use Squid as a reverse proxy. Right now it's not sending any web traffic to the backend web server. I'm taking http traffic into the reverse proxy and sending it to my web server at 8080. My setup:
Internet--Firewall--Squid--WebServer
I set up squid with 2 nics. One with a DMZ IP that NATs to a public IP. The other nic is internal on the same subnet as the web server. Here is the squid.conf file:
http_port 80 accel defaultsite=rcdlab.net vhost
forwarded_for on
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
cache_peer 192.168.3.59 parent 8080 0 no-query no-digest originserver name=web01
acl sites_iis dstdomain www.rcdlab.net rcdlab.net 192.168.222.198
acl our_sites dstdomain www.rcdlab.net rcdlab.net 192.168.222.198
cache_peer_access web01 allow sites_iis
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 192.168.3.0/24
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow our_sites
http_access allow manager all
http_access allow manager
http_access allow localnet
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
visible_hostname rp.rcdlab.local
access_log /var/log/squid/access.log
Update 6/29/2012
Traffic from my pc externally is reaching the reverse proxy but I am seeing this in tcpdump:
172.16.3.254 > 192.168.222.213: ICMP host 172.16.3.254 unreachable - admin prohibited, length 60
IP (tos 0x0, ttl 128, id 4230, offset 0, flags [DF], proto TCP (6), length 52)
172.16.3.254 = reverse proxy 192.168.222.213 = my IP