Zum Inhalt springen

Weiterleitung PHP falls Server down ist


Empfohlene Beiträge

Hallo, hab ein Intranet für 5 Häuser verteilt. Die Häuser sind mit einer VPN Verbindung bei uns drin.

Jetzt wollt ich eine Weiterleitung bei den Häusern einbauen, die Überprüft, ob der Intranet-Server der bei mir steht erreichbar ist. Ist er erreichbar, leite zum Intranet bei mir weiter, ist er nicht erreichbar leite auf ein Notfallintranet weiter, dass auf dem Intranet Server im eigenen Haus liegt..

Hab mir was zusammengetextet, aber irgendwo ist der Fehler. Er leitet weiter, wenn der Server erreichbar ist, aber wenn er nicht erreichbar ist, leitet er ned auf das notfallintranet weiter.

<?php

$check_url = "Intranet bei mir im Haus"; 

$offline_url = "Notfall Intranet bei denen im Haus"; 

$online_url = "Intranet bei mir im Haus";

$connection = fsockopen ($check_url, 80);

if (!$connection)

{

@header ("Location: ".$offline_url);

}

else

{

@header ("Location: ".$online_url);

} 

?>

nun, wo liegt mein Fehler?

Link zu diesem Kommentar
Auf anderen Seiten teilen

hab leider keine fehlermeldung.. das einzige was ich sagen kann als beispiel:

sagen wir intranet bei mir ist 192.168.1.100

das notfallintranet bei denen ist 192.167.1.100/notfallintranet.html

ist mein server online, leitet die weiterleitung zu 192.168.1.100 weiter..

fahr ich meinen server runter steht in der Adresszeile 192.167.1.100

also fehlt im die notfallintranet.html.. steht aber in meiner weiterleitung drin..

als fehler kommt der 500er

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sowie ich das im Moment sehe, liegt dass PHP-Skript auf dem Intranet-Server.

Wie soll denn der Intranet-Server entscheiden, dass der Ersatz-Intranet-Server benutzt werden soll, wenn er down ist?

Du könntest eine Lösung auf den Clients (unschön) implementieren oder per aktivem Load-Balancing oder ähnlichem.

Link zu diesem Kommentar
Auf anderen Seiten teilen

natürlich wird das php script nicht auf dem server ausgeführt, der überpürft werden soll ob er online ist.. :hells:

es liegt auf dem internen servern, die prüfen ob der server bei mir on ist und weiterleiten.. aber ich habe das problem schon gefunden und behoben.. soweit sogut..

aber ein neues problem hat sich ergeben.. gibt es eine abfrage wo ich:

eine bestimmte stelle der ip adresse (in meinem fall ab der 4 stelle 2 zeichen lang.. also bei 192.10.1.100 soll der die "10" prüfen) überprüfen und dann falls 10 = dorthinweiterleiten, falls 11 = dorthin und falls 12 = dorthin?

Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]aber ich habe das problem schon gefunden und behoben.. soweit sogut..
Und du willst den anderen natürlich auch nicht mitteilen, was das Problem, bzw dessen Lösung war...

aber ein neues problem hat sich ergeben.. gibt es eine abfrage wo ich:

eine bestimmte stelle der ip adresse (in meinem fall ab der 4 stelle 2 zeichen lang.. also bei 192.10.1.100 soll der die "10" prüfen) überprüfen und dann falls 10 = dorthinweiterleiten, falls 11 = dorthin und falls 12 = dorthin?

Ich denke mal, du meinst noch immer jetzt in deinem PHP-Script...

Was sollte dich also daran hindern, statt der IP-Adresse eine Variable abzufragen, bzw den Inhalt zu testen, und anhand des Ergebnisses eine Entscheidung im Script zu treffen? :confused: Einfach nachschauen, ob sie up ist oder nicht, reicht ja aus, oder? ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

zum 1. das problem lag am fsockopen.. da hat er mir nie den else befehl angenommen..

mit fopen funktioniert es bei mir..

zum 2. Das mit der IP Abfrage ist ein neues script, dass ich benötige. Hier soll geprüft werden, von welchem haus das script aufgerufen wird.. damit er an den zugehörigen mailserver weiterleiten kann.. hier bin ich aber auch schon ein gutes stück weiter, zumindest hab ich die ip abfrage an einer bestimmten stelle probiert und es geht.. der code wär:

     $ip = getenv( "REMOTE_ADDR" );
function left($str, $length)
{return substr($str, 4, $length);}
$meinstring = left($ip , 2) ;[/PHP]

hier schaut er die ip ab der 4 stelle an.. und prüft die nächsten 2 zeichen..

jetzt bau ich mal unten noch ne case abfrage mit weiterleitung hin und schaun ob das geht..

Link zu diesem Kommentar
Auf anderen Seiten teilen

substr($str, 4, $length);

was machst du wenn sich die interne ip mal aendert? und ihr statt 192.x nur noch 78.x benutz? oder wenn die 2te stelle irgendwann 3 stellen hat weil ihr soviel haeuser habt? ;)

$split_ip = explode(".", $ip);

swicht ($split_ip[1]) {

case '10': $url = "bla"

default: error;

}

versuch ma sowas in die richtung :>

ted

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...