squid fehlermeldung...unerklärlich

Fabian_Frank

New Member
Hallo liebe Gemeinde.
Ich benutze auf meiner Website Joomla und würde seine Funktionen gerne mit JReview erweitern. Seitdem ich die neue Komponente installiert habe bekomme ich folgende Fehlermeldung beim Aufrufen der JReview-Funktionen.

Code:
ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: http://www.domain.de/administrator/index2.php?

The following error was encountered:

    * Zero Sized Reply 

Squid did not receive any data for this request.

Your cache administrator is webmaster.
Generated Thu, 12 Jun 2008 21:57:44 GMT by c02 (squid/2.6.STABLE16)

Meine Konfiguration:
1und1 VServer
Suse 10.1 mit Plesk 8.3.0
PHP 5.1.2
Apache 2
IonCube Loader 3.1.33
Joomla! 1.5 und JReview

Auf squid-cache.org habe ich folgendes zu dem Thema gefunden.

Code:
This happens when Squid makes a TCP connection to an origin server, but for some reason, the connection is closed before Squid reads any data. Depending on various factors, Squid may be able to retry the request again. If you see the "Zero Sized Reply" error message, it means that Squid was unable to retry, or that all retry attempts also failed.

What causes a connection to close prematurely? It could be a number of things, including:

    * An overloaded origin server.
    *

      TCP implementation/interoperability bugs. See the ../SystemWeirdnesses for details.
    * Race conditions with HTTP persistent connections.
    * Buggy or misconfigured NAT boxes, firewalls, and load-balancers.
    * Denial of service attacks.
    *

      Utilizing TCP blackholing on FreeBSD (check ../SystemWeirdnesses). 

You may be able to use tcpdump to track down and observe the problem.

Some users believe the problem is caused by very large cookies. One user reports that his Zero Sized Reply problem went away when he told Internet Explorer to not accept third-party cookies.

Here are some things you can try to reduce the occurance of the Zero Sized Reply error:

    *

      Delete or rename your cookie file and configure your browser to prompt you before accepting any new cookies.
    *

      Disable HTTP persistent connections with the server_persistent_connections and client_persistent_connections directives.
    *

      Disable any advanced TCP features on the Squid system. Disable ECN on Linux with echo 0 > /proc/sys/net/ipv4/tcp_ecn/.
    * Upgrade to Squid-2.5.STABLE4 or later to work around a Host header related bug in Cisco PIX HTTP inspection. The Cisco PIX firewall wrongly assumes the Host header can be found in the first packet of the request. 

If this error causes serious problems for you and the above does not help, Squid developers would be happy to help you uncover the problem. However, we will require high-quality debugging information from you, such as tcpdump output, server IP addresses, operating system versions, and access.log entries with full HTTP headers.

If you want to make Squid give the Zero Sized error on demand, you can use a short C program. Simply compile and start the program on a system that doesn't already have a server running on port 80. Then try to connect to this fake server through Squid:
http://wiki.squid-cache.org/SquidFaq/TroubleShooting#head-f4a45377a57a797587e0c67314da8c603f1581cc

Mir ist aber trotzdem noch nicht so ganz klar wie ich jetzt weiter vorgehen soll. Bin grad ziemlich ratlos.
Vielen Dank für die Mühe, Fabian
 
Last edited by a moderator:
1. Ich glaube mit einem Squid auf einem VServer wirst Du nicht glücklich.
2. Dein cache_peer scheint nichts auszuliefern oder du hast etwas beim squid falsch konfiguriert.
3. Ich hoffe Du weißt was Du tust.
 
Ich habe nie squid auf meinem server installiert. vielleicht ist er von 1und1 vorinstalliert? finde dazu aber keine installationsordner. wie genau könnte ich squid denn entfernen, falls er doch drauf ist?
 
Kann es sein, dass Du aus einer Squid-Umgebung heraus arbeitest? Hast Du vllt. irgendwelche Cache-Optimierungen bei Joomla falsch eingestellt?

--marneus
 
Ich habs jetzt von mehreren Rechnern aus probiert. In der Arbeit, Daheim und bei einem Freund. Überall das selbe Problem.
Joomla blieb unverändert nach der Installation. Also keine Anpassung meinerseits.
Was ich nicht genau verstehe ist, warum es überhaupt einen squid error geben kann, wenn überhaupt kein squid auf meinem vserver läuft.
 
Poste doch mal die Ausgabe von:
Code:
HEAD domain.de/administrator/index2.php?
Wobei natürlich domain.de durch deine Url zu ersetzen ist.
 
ich poste einfach mal die ganze Datei:

Code:
<?php
/**
* @version $Id: index2.php 10041 2008-02-15 21:48:13Z eddieajau $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Set flag that this is a parent file
define( '_VALID_MOS', 1 );

if (!file_exists( '../configuration.php' )) {
	header( 'Location: ../installation/index.php' );
	exit();
}

require( '../globals.php' );
require( '../configuration.php' );

// SSL check - $http_host returns <live site url>:<port number if it is 443>
$http_host = explode(':', $_SERVER['HTTP_HOST'] );
if( (!empty( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) != 'off' || isset( $http_host[1] ) && $http_host[1] == 443) && substr( $mosConfig_live_site, 0, 8 ) != 'https://' ) {
	$mosConfig_live_site = 'https://'.substr( $mosConfig_live_site, 7 );
}

require_once( $mosConfig_absolute_path . '/includes/joomla.php' );
include_once( $mosConfig_absolute_path . '/language/'. $mosConfig_lang .'.php' );
require_once( $mosConfig_absolute_path . '/administrator/includes/admin.php' );

// must start the session before we create the mainframe object
session_name( md5( $mosConfig_live_site ) );
session_start();

$option 		= strval( strtolower( mosGetParam( $_REQUEST, 'option', '' ) ) );
$task 			= strval( mosGetParam( $_REQUEST, 'task', '' ) );

// mainframe is an API workhorse, lots of 'core' interaction routines
$mainframe 		= new mosMainFrame( $database, $option, '..', true );

// admin session handling
$my 			= $mainframe->initSessionAdmin( $option, $task );

// initialise some common request directives
$act 			= strtolower( mosGetParam( $_REQUEST, 'act', '' ) );
$section 		= mosGetParam( $_REQUEST, 'section', '' );
$no_html 		= intval( mosGetParam( $_REQUEST, 'no_html', 0 ) );
$id         	= intval( mosGetParam( $_REQUEST, 'id', 0 ) );

$cur_template 	= $mainframe->getTemplate();

// default admin homepage
if ($option == '') {
	$option = 'com_admin';
}

// set for overlib check
$mainframe->set( 'loadOverlib', false );

// precapture the output of the component
require_once( $mosConfig_absolute_path . '/editor/editor.php' );

ob_start();
if ($path = $mainframe->getPath( 'admin' )) {
		require_once ( $path );
} else {
	?>
	<img src="images/joomla_logo_black.jpg" border="0" alt="<?php echo 'Joomla! Logo'; ?>" />
	<br />
	<?php
}

$_MOS_OPTION['buffer'] = ob_get_contents();
ob_end_clean();

initGzip();

// start the html output
if ($no_html == 0) {
	// loads template file
	if ( !file_exists( $mosConfig_absolute_path .'/administrator/templates/'. $cur_template .'/index.php' ) ) {
		echo 'TEMPLATE '. $cur_template .' NOT FOUND' ;
	} else {
		require_once( $mosConfig_absolute_path .'/administrator/templates/'. $cur_template .'/index.php' );
	}
} else {
	mosMainBody_Admin();
}

// displays queries performed for page
if ($mosConfig_debug) {
	echo $database->_ticker . ' queries executed';
	echo '<pre>';
	foreach ($database->_log as $k=>$sql) {
		echo $k+1 . "\n" . $sql . '<hr />';
	}
}

// if task action is 'save' or 'apply' redo session check
if ( $task == 'save' || $task == 'apply' ) {
	$mainframe->initSessionAdmin( $option, '' );
}

doGzip();

?>
 
Das ist nicht was ich wollte. Es gibt einen Unterschied zwischen den Befehlen
Code:
head
und
Code:
HEAD
.
Zur Not geht auch
Code:
curl -I deinedomain.tld/administrator/index2.php?
Ich glaub es ist einfach, wenn Du mal deine Url postest, dann können auch wir mal testen.
 
curl -I deinedomain.tld/administrator/index2.php?
gibt folgendes

HTTP/1.1 200 OK
Date: Fri, 13 Jun 2008 16:30:38 GMT
Server: Apache/2.2.3 (Linux/SUSE)
X-Powered-By: PHP/5.1.2
Content-Type: text/html

HEAD funktioniert leider nicht: command not found

Ob ich die URL hier posten darf kann ich leider nicht alleine entscheiden.
Trotzdem vielen Dank für die Mühe
 
Ich habe mal in deinem alten Post nachgesehen und dort ein den Logfiles eine URL gefunden und ausprobiert. "p.......test.de/administrator/index2.php?" kann ich ohne Problem aufrufen und "HEAD" und "curl" zeigen bei mir keine Squid. Ich vermute das Problem also auf deiner Seite.
Benutzt Du Tor oder einen Proxy in deinen Browsereinstellungen?
 
Back
Top