Re: [squid-users] error access to http://www.tyco-fsbp.com/cgi-bin/webscripts/nph-home.pl

From: Marcello Romani <mromani_at_ottotecnica.com>
Date: Mon, 25 Jan 2010 22:36:24 +0100

Eduardo Maia ha scritto:
> Hello,
>
> When access to http://www.tyco-fsbp.com/cgi-bin/webscripts/nph-home.pl
> with squid 3.0.STABLE1 or squid-3.1.0.15 i got the error below. If i
> access directly without proxy the website opens.
> What could be the problem?
>
>
> ERROR
> The requested URL could not be retrieved
>
> While trying to process the request:
> GET /cgi-bin/webscripts/nph-home.pl HTTP/1.0
> User-Agent: Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1
> Host: www.tyco-fsbp.com
> Accept: text/html, application/xml;q=0.9, application/xhtml+xml,
> image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
> Accept-Language: en-US,en;q=0.9
> Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
> Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
> Referer: http://www.tyco-fsbp.com/
> Pragma: no-cache
> Cache-Control: no-cache
> Proxy-Connection: Keep-Alive
>
>
> The following error was encountered:
> Invalid Response
>
> The HTTP Response message received from the contacted server could not
> be understood or was otherwise malformed. Please contact the site
> operator. Your cache administrator may be able to provide you with more
> details about the exact nature of the problem if needed.
>
> Your cache administrator is webmaster.
>
>
>
>
> thanks,
>
> Eduardo
>

Hallo,
     the problem is your script is not generating the correct HTTP headers.
Web browsers are written to render the highest possible number of sites,
so are very forgiving when they find errors in the http stream.
Squid is instead much stricter in this regard.

Try wget -S against your site and another site which loads well through
the http proxy.
Here's an example:

marcello_at_marcello-laptop:~$ wget -S www.cineca.it

--2010-01-25 22:25:19-- http://www.cineca.it/
Risoluzione di www.cineca.it... 130.186.1.46
Connessione a www.cineca.it|130.186.1.46|:80... connesso.
HTTP richiesta inviata, in attesa di risposta...
   HTTP/1.1 200 OK
   Date: Mon, 25 Jan 2010 21:25:19 GMT
   Server: Apache/1.3.36 (Unix) PHP/4.4.2 mod_auth_ianus_sso/1.15
DAV/1.0.3 mod_ssl/2.8.27 OpenSSL/0.9.8b mod_jk/1.2.15
   Last-Modified: Fri, 22 Jan 2010 21:58:52 GMT
   ETag: "b52a-622a-4b5a1f9c"
   Accept-Ranges: bytes
   Content-Length: 25130
   Connection: close
   Content-Type: text/html; charset=ISO-8859-1
Lunghezza: 25130 (25K) [text/html]
Salvataggio in: "index.html"

100%[=======================================================>] 25.130
    54,2K/s in 0,5s

2010-01-25 22:25:19 (54,2 KB/s) - "index.html" salvato [25130/25130]

marcello_at_marcello-laptop:~$ wget -S
http://www.tyco-fsbp.com/cgi-bin/webscripts/nph-home.pl

--2010-01-25 22:25:27--
http://www.tyco-fsbp.com/cgi-bin/webscripts/nph-home.pl
Risoluzione di www.tyco-fsbp.com... 213.203.193.92
Connessione a www.tyco-fsbp.com|213.203.193.92|:80... connesso.
HTTP richiesta inviata, in attesa di risposta...
Lunghezza: non specificato
Salvataggio in: "nph-home.pl"

     [ <=>
 
                                 ] 17.810 33,1K/s in 0,5s

2010-01-25 22:25:29 (33,1 KB/s) - "nph-home.pl" salvato [17810]

As you can see, the cineca.it server is printing out several headers
before the actual page.
Your script is just putting out the html page.

 From the url it seems it's a Perl script, so let me direct you to the
CGI.pm man page
http://search.cpan.org/dist/CGI.pm/lib/CGI.pm
where you have this example:

    #!/usr/local/bin/perl -w
    use CGI; # load CGI routines
    $q = CGI->new; # create new CGI object
==> print $q->header, # create the HTTP header
          $q->start_html('hello world'), # start the HTML
          $q->h1('hello world'), # level 1 header
          $q->end_html; # end the HTML

Note http headers _before_ the actual html.

HTH

Marcello
Received on Mon Jan 25 2010 - 21:36:30 MST

This archive was generated by hypermail 2.2.0 : Tue Jan 26 2010 - 12:00:04 MST