Umleitung auf Backupseite falls Server nicht zu erreichen

SwingTänzer

Mitglied
Hallo,

ich beschäftige mich mit dem Thema Weiterleitung von Adressen.
Eine normale Weiterleitung war schnell fertig. Entweder per HTML Code oder mit dem passenden Apache2-Modul mod_alias. Nun möchte ich die Weiterleitung noch ein wenig verfeinern:

Zwei Seiten sind auf unterschiedlichen Server (s1 und s2) untergebracht. Wird die Beispieladresse
http://www.a.de
aufgerufen, ist zu überprüfen, ob der Server s1 zu erreichen ist. Falls ja, wird zu s1 weitergeleitet, wenn nicht dann zu Server s2.

Gibt es beim Apache2 eingebaute Lösungen hierfür? Kann/Muss ich das mit Scripten machen? Fragen über Fragen, würde mich über Antworten freuen.

Liebe Grüße
SwingTänzer
 
Ob es eine webserver-seitige Lösung gibt, kann ich dir nicht sagen. Mit einer serverseitigen Skriptsprache (etwa PHP) ist dies jedoch möglich.
 
Prinzipiell könnte das Skript wie folgt aussehen:
PHP:
<?php

	$availableHosts = array(
		's1',
		's2',
		's3'
	);
	$alreadyCheckedHosts = array();
	$success = false;

	while( count($alreadyCheckedHosts) < count($availableHosts) ) {
		$currentHost = $hosts[rand(0, count($hosts)-1)];
		if( !fsockopen($currentHost, 80, $errno, $errstr, 3) ) {
			$success = true;
			break;
		} else {
			if( !in_array($currentHost, $alreadyCheckedHosts) ) {
				$alreadyCheckedHosts[] = $currentHost;
			}
		}
	}

	if( $success === true ) {
		header('Location: http://'.$currentHost.$_SERVER['REQUEST_URI'], true, 303);
		exit;
	} else {
		header('HTTP/1.1 404 Not Found', true);
		exit;
	}

?>
 
Hi Gumbo,

vielen Dank für Deinen ausführlichen Vorschlag. Ich werde das heute oder nächste Woche ausprobieren.

Schönes Wochenende

SwingTänzer
 
Ich kann dir aber leider nicht versichern, dass es funktioniert, denn ich hatte bisher keine Gelegenheit es zu testen.
 
Zurück