AVR-Webserver / PHP

Gast #795415
Lesenswert?

Hallo,


da ich im PHP Forum noch nichts erfahren habe, versuche ich es mal hier 
:

meine Hardware : Atmega32 + U.Radig Webserver / Isa-Card kurz: (AVR 
Webserver)

der Webserver läuft prima, Hardsoftware und Software ok

damit der Webserver von aussen (WWW) erreichbar ist, habe ich ein DYN??? 
eingerichtet, auch ok, funktioniert prima.

#########
nun soll auf meiner Homepage ein PHP-Skript überprüfen, ob der Webserver 
bzw. die HTML Seite des Webservers online ist.

obwohl der Webserver online ist, kommt die "Meldung" "Server offline".

Php Skript Auszug 3 X :


test 1:
$fp = fsockopen("www.URLmeineHOMEpage.de",80, &$errno, &$errstr,30);<--- 
Funktioniert

test 2:
$fp = fsockopen("www.URLdesWEBSERVER.com",80, &$errno, &$errstr,30);<--- 
Funktioniert NICHT !

test 3:
$fp = fsockopen("www.google.com",80, &$errno, &$errstr,30);<--- 
Funktioniert


für einen Tip wäre ich dankbar

Stephan
Gast #795469
Lesenswert?

Also siehe oben:

meine Hardware : Atmega32 + U.Radig Webserver / Isa-Card kurz: (AVR
Webserver)

der Webserver läuft prima, Hardsoftware und Software ok

damit der Webserver von aussen (WWW) erreichbar ist, habe ich ein DYN???
eingerichtet, auch ok, funktioniert prima.

Portfreigabe in der Fritzbox eingerichtet: Port 80

alles prima nur das Php-Skript sagt :
alle Url(s) sind erreichbar, nur dein Webserver nicht

über einen Browser kann ich von Timbukto den Webserver auch erreichen,
getestet leider nur aus Wuppertal (mein Bruder hat getan)


Stephan
#795472
Lesenswert?

Wenn der Server von "aussen" erreichbar ist über Dyndns oder ähnliches 
und im Router auch die DMZ (sprich Anfragen vom Inet werden an die DMZ 
IP weitergeleitet) eingerichtet ist, dann sollte es klappen ...
Die Prüfung per ping schaut aber nur, ob der Router online ist ....

Bleibt zu klären, ob überhaupt der Server hinter nem Router hängt ...

Grüße,
Michael
Persönliche Seite #795474
Lesenswert?

OK, mal prinzipiell:

Ich gehe mal davon aus, dass dein Webserver nicht direkt an deinem 
Internetanschluß hängt und direkt mit dem Inernet kommuniziert. Die 
übliche Konstellation ist doch folgende:

Zwischen Internet und deinem internen Netz befindet sich ein Router. Zur 
Internetseite hin bekommt er (meist dynamisch) eine IP-Adresse von 
deinem Provider. Zu deinem internen Netz eine IP-Adresse aus deinem 
Netz.

Ich gebe ebenfalls mal davon aus, dass dein Webserver in deinem internen 
Netz steht und auch eine IP aus diesem hat.

Zum Internet hin ist nur die IP-Adresse, die du vom Provider zugewiesen 
bekommen hast, bekannt. Wenn du aus dem Internet deinen AVR in deinem 
Netz ansprechen willst, müssen die Adressen "übersetzt" werden. In der 
Regel gibt es dazu auf den Routern NAT (network adress translation), was 
wie folgt funktioniert:

Vom Internet kommt ein Datenpaket an die IP deines Routers mit einer 
bestimmten Port-Adresse (bei dir z.B. Port 80). NAT auf dem Router muß 
nun so konfiguriert sein, dass alles, was für Port 80 ist, an die 
interne IP-Adresse des AVR gesendet wird. Es wird also Internet-IP in 
interne IP übersetzt...

Die Geschichte mit DYN... auf dem AVR ist eigentlich nicht notwendig. 
Vielmehr sollte soetwas dein Router machen...

Grüße Uwe
#795478
Lesenswert?

Ich denke mal das die Dyn... Geschichte schon auf dem Router läuft, denn 
anders machts wenig Sinn. Wenn der Router mit dem Inet verbindet und 
sich eine IP vom Provider bekommt, dann trägt der Router diese IP 
wiederum beim Dynamic DNS Dienst ein und man kann den Router unter 
URLdesWEBSERVER.com erreichen. Jetzt muss eben noch der Router die 
Weiterleitung an den wohl mit lokaler IP versehenen Webserver vornehmen 
und das funzt mit dem Einrichten einer DMZ (Demilitarized zone)

Grüße,
Michael
Gast #795482
Lesenswert?

Frage :

Die Prüfung per ping schaut aber nur, ob der Router online ist ....

Ping URLdesWEBSERVER.com war ok

am Promt kam noch die Info z.B     77.12.34.80    ok

77.12.34.80 im Browser eingegeben -> Mein Webserver meldet sich


#
Bleibt zu klären, ob überhaupt der Server hinter nem Router hängt ...
-> er steht daneben
#

war ein Scherz

Stephan
#795485
Lesenswert?

Wenn man mit einem Browser von ausserhalb an den Webserver kommt (wie 
ich das so rausgelesen habe) scheint das Problem eine andere Ursache zu 
haben. An einfachsten wäre es vielleicht zu testen was passiert, wenn 
man auf einem Rechner (ausserhalb) mit dem man per Browser auf den 
Webserver kommt, mit einem (lokalen) PHP-Script den gleichen Versuch 
macht.

Gruß Jörg
#795489
Lesenswert?

Das ist doch schon mal wunderbar !! Auch wenn der Server NEBEN dem 
Router steht ;-) !

Zu Deinen Tests:

Was für eine Fehlermeldung kommen denn bei:

$fp = fsockopen("www.URLdesWEBSERVER.com",80, &$errno, &$errstr,30);

bzw. versuch mal anstatt "www.URLdesWEBSERVER.com" die IP zu öffnen ...
#795502
Lesenswert?

Hallo,

ich würde jetzt einfach mal vermuten, daß PHP bei fsockopen() etwas 
benutzt, was vom AVR-Webserver schlicht nicht unterstützt wird.
Normalerweise würde ich jetzt das ganze local testen und WireShark 
mitlaufen zu lassen, um zu sehen, was der PHP-Server schickt und was der 
AVR antwortet oder eben auch nicht...

Gruß aus Berlin
Michael
Gast #795524
Lesenswert?

##########################
Hallo  Michael U. (amiga)
das PHP Skript läuft auf meiner Homepage, nicht auf dem Webserver
dennoch Danke
##############################

Hallo  Michael K. (mmike)

dein Tipp mit
bzw. versuch mal anstatt "www.URLdesWEBSERVER.com" die IP zu öffnen ...
war gut

test 4:
$fp = fsockopen("123.123.123.007",80, &$errno, &$errstr,30);<---
Funktioniert prima, danke nochmal

es klappt aber...
morgen habe ich ne andere IP, dynamisch eben. daher Dynorg
und jetzt ?

Stephan
#795554
Lesenswert?

So ein aehnliches Problem hatte ich auch. Hole dir mal von der DYNDNS 
Homepage das Programm das die IP-Addresse bei DYNDNS eintraegt und 
installiere das mal. Neben der IP-Addresse traegt das auch noch was 
anderes bei DYNDNS ein . Die Eintragungen vom deinem Modem bei DYNDNS 
alleine reichen nicht. Wenn DYNDNS eine neue IP-Addresse von dir bekommt 
will es danach noch eine Bestaetigung das der Server Betriebsbereit ist.
Jedenfalls war es bei mir so.

Gruss Helmi
Gast #795613
Lesenswert?

hallo Michael

$ServerIP = gethostbyname ("URLmeineHOMEpage.de");
$fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30);

brachte keinen Erfolg, aber auch keine Fehlermeldung
das auch ist manchmal viel Wert

Seltsam:
mit
echo "$ServerIP<br />\n";

hätte ich 123.123.123.07 erwartet
es kam aber Klartext:

URLmeineHOMEpage.de

Stephan
Gast #795967
Lesenswert?

hallo Michael

Es klappt !!!!!!!

dein Text :

$ServerIP = gethostbyname ("URLmeineHOMEpage.de");
$fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30);

meine Eingabe

$ServerIP = gethostbyname ("www.URLmeineHOMEpage.de");
$fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30);
Fehlermeldung

ohne www -> klappt prima

Danke
Gast #797294
Lesenswert?

au weia
sollte sein

hallo Michael

Es klappt !!!!!!!

dein Text :

$ServerIP = gethostbyname ("URLdesWEBSERVER.com");
$fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30);

meine Eingabe

$ServerIP = gethostbyname ("www.URLdesWEBSERVER.com");
$fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30);
Fehlermeldung

ohne www -> klappt prima

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren