URL Rewrite davon abhängig machen, ob Remote Host erreichbar ist
TS
- https
- webserver
Hello,
kann ich das Rewriting einer URL davon abhängig machen, ob der Remote Host (eine bestimmte URL auf dem Remote Host) erreichbar ist?
Wenn also auf einen Test-Head-Request auf Host B Status 2xx oder 3x gemeldet wird, soll der primäre Request auf Host A auf Host B umgeleitet werden, sonst nicht.
Liebe Grüße
Tom S.
Sicher aber sehr langsam: Dein Server befragt (angemessen Timeout setzen) bei jedem eintreffenden Request in der Programmiersprache Deiner Wahl den Host B nach dessen Reaktion auf die Anforderung der URL und in der selben Programmiersprache wird mit if + else(if)
oder switch + case
die Entscheidung getroffen.
Schnelle Alternative mit gelegentlichen kurzfristigen Ausfällen: Dein Server befragt mittels Cronjob minütlich den Host B nach dessen Reaktion auf die Anforderung der URL und es wird in einer, von der Programmiersprache Deiner Wahl zu nutzenden Textdatei abgelegt, wie mit den Links zu verfahren ist.
Hello,
per php würde ich das schnell implementiert haben. Die Funktion für den Head-Request mit den beiden Timeouts für Socket und Readdata ist fertig, auch revolvierend. Sie hat nur zwei Schönheitsfehler:
Und jedes Mal das php-cgi zu laden ist ja auch ganz schön überlastig.
Allerdings muss ja immer nur der erste Request einer Serie geprüft werden, weil es ab der ersten Response ja schon auf der anderen URL weitergeht.
Lieber hätte ich eine Lösung mit den Bordmitteln des Webservers (Apache), aber das ist wohl nicht vorhesehen?
Liebe Grüße
Tom S.
Moin,
Meines Wissens : NEIN
Über htaccess kann man keine http-request absenden und/oder http-response eines fremden Servers abfragen. Zumal, wenn es denn funktionieren würde, die Dauer ähnlich lang wäre wie bei deinem oben veschriebenen Weg. Der Nachrichtenaustausch funktioniert nun mal übers HTTP. Wie sollte sonst die Erreichbarkeit abgefragt werden?
Gruß Bobby