Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Weiterleitung PHP falls Server down ist

Empfohlene Antworten

Veröffentlicht

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?

Hast du auch eine Fehlermeldung für uns? Passiert einfach gar nix?

Gruß,

bytebrain

  • Autor

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

auf welchem Server wird die Weiterleitungs-PHP ausgeführt?

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.

  • Autor

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?

[...]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? ;)

  • Autor

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..

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.