Squid3 'The proxy server is refusing connections'

Whenever I try to connect to my Squid3 Proxy server, I get the 'Proxy server is refusing connections' error.

Here's my config:

    #Recommended minimum configuration:
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.100.0/24 192.168.101.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 manager localhost
http_access deny manager
http_access deny !Safe_ports

http_access deny to_localhost
icp_access deny all
htcp_access deny all

http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid3/access.log squid


#Suggested default:
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern .       0   20% 4320
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid3

#acl whitelist dstdomain "/etc/squid3/whitelist.txt"

# Allow localnet machines to whitelisted sites
#http_access allow localnet whitelist

# block all other access
#http_access deny all

url_rewrite_program /etc/squid3/webreq.pl

Solution 1:

I'd verify the following:

  1. Is Squid running? Check /var/log/squid3/cache.log and make sure there aren't any errors in your configuration file.
  2. From a client machine are you able to open a TCP connection to the proxy on port 3128? I'd start by confirming that. The easiest way is by using telnet (you can do this from Windows, Mac and Unix hosts). Something like:

    telnet proxyhost 3128

    where proxy host is your proxy hostname or IP.

    If it works, you should see something like:

    Trying proxyhost...
    Connected to proxyhost.
    Escape character is '^]'.
    

    If that doesn't work (e.g., it times out), you could have a firewall that's blocking access.

Those are the two initial checks I'd make.

Solution 2:

1 word. ACLs.

You allow manager, and localhost http access... but deny everyone else.

You might have meant to add a line like

http_access allow localnet

or modify the line

http_access allow manager localhost

to say

http_access allow manager localhost localnet

or perhaps something to do with the whitelists... or what-have-you.