Stefanie: Anderen Port relativ addressieren

Hallo,

ich habe folgendes Problem: Auf einem IPC (Betriebsystem Linux) läuft auf Port 80 das normale Webinterface, auf Port 8080 eine andere Webvisualisierung. Ich brauche über eine HTML-Seite vom normalen Interface einen Link auf die Visu von Port 8080.

Ich spreche meine normale Seite an über die IP-Adresse, also z.B. http://192.168.1.17/index.htm

Die Visu würde ich also ansprechen über http://192.168.1.17:8080

Aber (wie) kann ich das verlinken, ohne die IP-Adresse selber mit angeben zu müssen? Problem ist, dass auf dem IPC zwei Interfaces mit verschiedenen IP-Adressen benutzt werden können, und ich ja nicht weiss, über welche dieser Browser gerade kommuniziert (sonst könnte ich die IP-Adresse über ein Skript abfragen).

Ich goolgele jetzt schon eine ganze Weile, aber vielleicht weiss es ja einer von Euch.

Viele Grüße
Stefanie

  1. Moin!

    Ich spreche meine normale Seite an über die IP-Adresse, also z.B. http://192.168.1.17/index.htm

    Die Visu würde ich also ansprechen über http://192.168.1.17:8080

    Aber (wie) kann ich das verlinken, ohne die IP-Adresse selber mit angeben zu müssen?

    Kannst du nicht. Hostname bzw. IP und Port sind ein untrennbares Element, bei dem man nicht einzelne Bestandteile weglassen kann.

    Problem ist, dass auf dem IPC zwei Interfaces mit verschiedenen IP-Adressen benutzt werden können, und ich ja nicht weiss, über welche dieser Browser gerade kommuniziert (sonst könnte ich die IP-Adresse über ein Skript abfragen).

    Auch bei IP-Adressen steht die Info, welcher Host angesprochen wurde, im Host-Header des HTTP-Requests und kann skriptmäßig ausgelesen und verwendet werden. Da es sich hierbei um eine Angabe aus Clientsicht handelt, ist das immer die korrekte IP oder der korrekte Hostname, unter der der Client den Server erreichen kann.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hallo Sven,

      Kannst du nicht.

      Mist.

      Auch bei IP-Adressen steht die Info, welcher Host angesprochen wurde, im Host-Header des HTTP-Requests und kann skriptmäßig ausgelesen und verwendet werden.

      Da hast Du natürlich recht, aber das ist in diesem Fall nicht so einfach. Ich habe meinen Skript-Mechanismus bisher nicht genauer beschrieben: Meine HTML-Dateien laufen durch ein eigenes CGI (in C geschrieben), dass sie auf eine bestimmte Zeichenfolge parst und folgende Zeichen 1 zu 1 umsetzt in Betriebsystemaufrufe (in der Regel Bash-Skripte), die dann z.B. eine Zeichenfolge zurück liefern. Das ist sozusagen ein eigener kleiner SSI-Parser und das System hat sich für die Anforderungen hier auch schon gut bewärt.

      Aus dem C-Programm kann ich auf die Umgebungsvariablen zugreifen, aus den Bash-Skripten aber leider nicht mehr. Es sei denn, ich übertrage sie generell an jedes Skript. Oder ich müsste einen Sonderfall im SSI-Parser integrieren. Ist auch unglücklich.

      Vielleicht ist es das einfachste, ein Bash-Skript zu schreiben, was nach dem ersten Interface sucht, was freigeschaltet ist, und dessen IP-Adresse für die Verlinkung zum anderen Port zu benutzen...

      Gruss und Danke
      Stefanie

  2. Hello,

    Du könntest versuchen, einen Hostnamen zu vergeben für den Servive unter der IP, dann müsste es auch möglich sein, den Port hinzuzufügen.

    Dazu kannst Du endweder einen DNS benutzen, oder einfach nur Einträge in den HOST-Dateien der Clients  vornehmen.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hi Tom,

      hört sich interessant an. Allerdings sind die IP-Adressen konfigurierbar, und das zieht dann ja jeweils einen Rattenschwanz an Änderungen nach sich, wenn sie geändert werden. Trotzdem, ich denke mal drüber nach.

      Danke
      Stefanie