Search squid archive

Re: Forwarding loop detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Edoardo COSTA SANSEVERINO wrote:
Hi all,

I'm getting the following error and I just can't figure out what I'm doing wrong. It worked for a while but now i get the following error:

Browser error
-------------
ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: http://test.example.com/

The following error was encountered:

    * Access Denied.

Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

Your cache administrator is webmaster.
Generated Tue, 29 Jun 2010 08:01:45 GMT by localhost (squid/3.0.STABLE8)


Squid Error
-----------
2010/06/29 07:41:22.244| The request GET http://test.example.com/ is ALLOWED, because it matched 'sites_server_web'
2010/06/29 07:41:22.244| WARNING: Forwarding loop detected for:
GET / HTTP/1.0
Host: test.example.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: http://test.example.com/
Cookie: __utma=156214138.2072416337.1256440668.1263421087.1270454401.17; SESS404422c7e13985ed9850bca1343102d6=e6b996d3bf323193fec6e785a3356d1c; SESS4986f0d90a6abbc6006cc25a814fe1a8=1c1956864db4e7636f3e8b185b6dd6cc
Pragma: no-cache
Via: 1.1 localhost (squid/3.0.STABLE8)
X-Forwarded-For: 192.168.1.10
Cache-Control: no-cache, max-age=259200
Connection: keep-alive


2010/06/29 07:41:22.245| The reply for GET http://test.example.com/ is ALLOWED, because it matched 'sites_server_web'


My current setup is as follows. I made the page request on the laptop to [VMs1].


setup
-----


[VMs1]--[Server/Squid/DNS/FW 1]--{ Internet }---[Server/Squid/DNS/FW 2]-+--[VMs2] | +--[LAN]--[Laptop]


Diagram got a bit mangled. I'm guessing the Laptop was on network VMs1?



The following squid config is for [Server 1]

squid.conf
----------
https_port 91.185.133.180:443 accel cert=/etc/ssl/mail.example.com.crt key=/etc/ssl/mail.example.com.pem defaultsite=mail.example.com vhost protocol=https
http_port 91.185.133.180:80 accel defaultsite=test.example.com vhost

cache_peer 192.168.122.11 parent 443 0 no-query no-digest originserver login=PASS ssl sslversion=3 sslflags=DONT_VERIFY_PEER front-end-https=on name=server_mail cache_peer 192.168.122.12 parent 80 0 no-query originserver login=PASS name=server_web

acl sites_server_mail dstdomain mail.example.com
http_access allow sites_server_mail
cache_peer_access server_mail allow sites_server_mail
cache_peer_access server_mail deny all

acl sites_server_web dstdomain test.example.com test.foobar.eu test1.example.com
http_access allow sites_server_web
cache_peer_access server_web allow sites_server_web
cache_peer_access server_web deny all

forwarded_for on

cache_store_log none
debug_options ALL,2


The following config is for [Server 2]

squid.conf
----------
https_port 192.168.1.3:443 accel cert=/etc/ssl/certs/deb03.example.com.crt key=/etc/ssl/private/deb03.example.com.pem defaultsite=deb03.example.com vhost protocol=https
http_port 192.168.1.1:80 accel defaultsite=deb02.example.com vhost
http_port 192.168.1.1:80 accel defaultsite=oldwww.example.com vhost

cache_peer 192.168.122.3 parent 443 0 no-query originserver login=PASS ssl sslversion=3 sslflags=DONT_VERIFY_PEER front-end-https=on name=srv03
cache_peer 192.168.122.2 parent 80 0 no-query originserver name=srv02
cache_peer 192.168.122.11 parent 80 0 no-query originserver name=srv01

acl https proto https
acl sites_srv01 dstdomain oldwww.example.com
acl sites_srv03 dstdomain deb03.example.com
acl sites_srv02 dstdomain deb02.example.com second.example.com

http_access allow sites_srv01
http_access allow sites_srv03
http_access allow sites_srv02
cache_peer_access srv01 allow sites_srv01
cache_peer_access srv03 allow sites_srv03
cache_peer_access srv02 allow sites_srv02

forwarded_for on

### Transparent proxy
http_port 192.168.1.1:3128 transparent
acl lan_network src 192.168.1.0/24
acl localnet src 127.0.0.1/255.255.255.255
http_access allow lan_network
http_access allow localnet

cache_dir ufs /var/spool/squid3 1500 16 256
###

#cache_store_log none
debug_options ALL,2


I simply can't see where the loop is. Could someone explain this to me or point me to the right documentation. I had a look arround but found no relevant answer.

There are two things which may be happening:

1) Your NAT interception rules may be catching proxy #2 outbound requests and looping it back into #2. ** FIX: Make sure that all the proxy machine IPv4 are listed in the NAT bypass rules.

2) to identify a loop Squid uses the _unique_ machine name as displayed in the Via: header "1.1 localhost (squid/3.0.STABLE8)" to check that the request did not come from itself. Unfortunately the machine hostname is set to "localhost" which is actually harmful as you can see. ** FIX: ensure that the command "hostname" produces a unique name for each machine.
  ** WORKAROUND for distros which hard-code "localhost":
explicitly configure unique_hostname and/or visible_hostname to different things in each of the proxies.

 Good practice is to use the machine FQDN for uniqueness.

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.4


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux