Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere Webseiten in einer Site integrieren (Benutzer gesteuert) - fehlender Ansatz

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Webseiten in einer Site integrieren (Benutzer gesteuert) - fehlender Ansatz

    Hallo liebe Community,

    ich habe schon mehrere kleine PHP-Projekte umgesetzt. Doch jetzt plane ich ein etwas Größeres,
    bei dem mir so ein wenig der Ansatz fehlt. Ich beschreibe erst einmal was ich vorhabe:

    Ausgangssituation:
    Ein Server mit OpenVPN und einer öffentlichen Adresse steht bereit.
    Verschiedene Clients bauen eine VPN-Verbindung zum Server auf und bieten über HTTP Port 80 ein Webinterface an.
    Zurzeit werden die jeweiligen Webinterfaces auf verschiedene Ports des Servers gemappt.

    Sprich jeder der die Adresse und den jeweiligen Port kennt, kommt auf das jeweilige Interface.

    http://server:81 -> Client1:80
    http://server:82 -> Client2:80
    ....
    http://server:n -> Clientn:80


    Anforderung:
    Da das obige System ziemlich ungeschützt ist, also ehr mal so gar nicht,
    möchte ich gerne auf dem Server eine Webanwendung hosten/entwickeln.
    Der Idealfall wäre, wenn die internen Clients überhaupt nicht direkt angesprochen werden können.

    Ich stelle mir es in etwa wie folgt vor: Jeder kann http://server aufrufen, dort wird nach Benutzername und Passwort gefragt.
    Nach einem erfolgreichem Login stehen dem Besucher die zuvor festgelegten Clients zur Verfügung.

    Sprich User1 ist z.B für Client1 und Client2 berechtigt und User2 für Client2 und Client3.

    Die zur Verfügung stehenden Clients sollen dem eingeloggten Benutzer angezeigt werden und durch einen Button das jeweilige Client-Interface aufgegrufen werden (im IFrame, neuem Fenster oder sontiges).

    Ich habe schon viel gegoogelt und ein paar Sachen ausprobiert, aber nichts führt so richtig zum gewünschtem Ergebnis
    1. Ansatz war, die jeweiligen Webinterfaces über die interne Client-Adresse per IFrame anzubieten, da aber das einbinden auf der Client-Seite (Browser des Besuchers) geschieht, funktioniert dies mit der internen Adresse nicht.
    2. Ansatz war, so einen Art Proxy zu entwickeln, der Anfragen von der Public Seite auf die internen Clients weiterleitet, aber so richtig weiß ich nicht wie ich an die Sache ran gehen soll.

    Vielleicht hat hier jemand schon was ähnliches umgesetzt. Ich wäre für jeden Tipp sehr dankbar!

  • #2
    Zitat von Riedi24 Beitrag anzeigen
    2. Ansatz war, so einen Art Proxy zu entwickeln, der Anfragen von der Public Seite auf die internen Clients weiterleitet, aber so richtig weiß ich nicht wie ich an die Sache ran gehen soll.
    Das. Google mal nach Reverse Proxy. Grundsätzlich gibt es da viele Möglichkeiten. Du kannst auch PHP als einen Reverse-Proxy missbrauchen: .htaccess/mod_rewrite=>CatchAll:
    HTML-Code:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L,QSA]
    Und dann die URL einfach an die andere Seite weiterleiten:

    PHP-Code:
    if($sessionExpert->isAuthenticated($user->getId())) {
        echo 
    file_get_contents("http://mysite:90{$_SERVER['REQUEST_URI']}");

    Mal so als Denkanstoß.

    Kommentar


    • #3
      Sprich User1 ist z.B für Client1 und Client2 berechtigt und User2 für Client2 und Client3.
      wenn die ganze sache so einfach ist, lass sie doch direkt drauf zugreifen.

      Kommentar

      Lädt...
      X