HTML Frame Weiterleitung von Unterordner auf Subdomain

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.634
Ich habe einen HomeServer (Ubuntu), der an meinem privaten DSL Anschluss ins Internet geht und eine Domain (inkl. Websapce) bei einem Hoster gemietet.

Auf dem HomeServer läuft ein Apache (inkl. Anhang) und ein ftp-Server. Auf dem HomeServer möchte ich auf drei Elemente Zugreifen:
Eine einfache html Seite mit Daten, den installierten OwnCloud-Server und den ftp-Server.
Aktuell kann ich schon ohne Probleme auf die drei Elemente zugreifen, wenn ich meine Router IP habe ...

Jetzt möchte ich von der Router auf die Server-IP weiterleiten:
https://homeserver.example.com/ -> https://127.0.0.1/ (einfache html Seite mit Daten)
https://owncloud.example.com/ -> https://127.0.0.1/owncloud/
ftp://homeserver.example.com/ -> ftp://127.0.0.1/
(Überall natürlich mit der echten IP und meiner echten Domain)

Die ersten beiden Weiterleitungen haben ich mit folgendermaßen vorgestellt:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
    <head>
        <title>owncloud.example.com</title>
    </head>
    <frameset>
        <frame src="https://127.0.0.1/owncloud/" noresize>
        <!-- frame src="<? include 'ip.php'; ?>" noresize -->
        <noframes>
            <body>
            your browser does not support frames.
            </body>
        </noframes>
    </frameset>
</html>
Nur leider geht die Weiterleitung auf den owncloud Unterordner nicht. Wieso das?


/edit:
Mein IPv4 ändert sich alle 24h!
 
Zuletzt bearbeitet:
ein frameset ist kein lösung..
richte die virtual hosts deines apaches richtig ein
 
Einfacher wäre es einfach einen A Record (und CNAMEs) bei deiner Domain zu setzen und im Apache mit Virtual Hosts arbeiten. Dann sparst du dir die Weiterleitung und ist auch sauberer.

So habe ich es gemacht und kann auf meine 3 VH (also 3 Websites) zugreifen über die DNS einträge beim provider.
 
Wenn es sich bei dir ändert dann ist das eh hinfällig. Und mit Virtual Hosts sollte man umgehen können wenn man schon einen webserver erstellt ;)

https://www.digitalocean.com/commun...t-up-apache-virtual-hosts-on-ubuntu-14-04-lts

Edit:
Anstatt eines DNS Records, erstellst du auf deiner Domain Subdomains mit einer URL weiterleitung zu deinem Server (nur zur IP). Wohin es dann weitergeht erledigt der Apache für dich wenn du die VHs richtig einstellst.
 
Zuletzt bearbeitet:
Soll der Home-Server aus dem Internet erreichbar sein?
Dann muss eventuell Port-forwarding, Dynamisches DNS etc. einrichten. Sonst kommt man da nur im lokalen LAN ran.
 
MoOderSo schrieb:
Ich habe 'xframe_restriction' => false, nachgetragen, aber es geht immer noch nicht.


@ Jokeboy:
Ich verstehe nicht ganz den Sinn der Sache. Der Apache meines HomeServers gibt dadurch ja nur die richtige Seite automatisch aus. Aber ist das essenziell?


T0a5tbr0t schrieb:
Soll der Home-Server aus dem Internet erreichbar sein? [...]
Ja, das ist Sinn der Sache und funktioniert bereits einwandfrei, mit der IP.
 
Dein DSL Router wird dein LAN vermutlich per NAT mit dem Internet verbinden (dein LAN versteckt sich also hinter einer einzelnen IP). Da kann man normalerweise nicht einfach so aus dem Internet auf den Home-Server im LAN zugreifen.
127.0.0.1 geht vom Server selber natürlich, aber nicht von anderen Hosts. Von "Außerhalb" muss man die öffentliche IP von deinem Router eingeben. Der muss die Anfrage dann an den Home-Server weiterleiten. Das muss man dem Router per Port-forwarding beibringen.

Wenn sich deine öffentliche IP vom Router alle x Stunden ändert, brauchst du auch Dynamisches DNS, damit dein Domain Name immer auf deinen Router zeigt. Sonst muss man halt manuell die aktuelle öffentliche IP eingeben.
 
@T0a5tbr0t:
Wie gesagt, dass alles funktioniert schon längst. Ich habe schon 2004 meine ersten (TS-) Server aufgesetzt. Das freischalten ist für mich kein Neuland.
Es geht darum das mein HomeServer per Domain (DNS) erreichbar ist und nicht nur per IP.
Die IP auf dem (Web-) Server (zum Weiterleiten) zu bringen ist einfach. Ein Skript auf dem HomeServer prüft per CroneTab die eigene Internet-IP und schickt bei einem Wechsel die neue per ftp an den Webserver.
 
Du verstehst irgendwie nicht, was sie von dir wollen.
Du sollst dich bei einem Dynamic-DNS-Dienst anmelden wie z.B. der hier https://spdns.de/index/.
Dort bekommste ne Domain und die Zugangsdaten, die du dort erhältst, trägst du in deinem Router ein und der meldet jedes mal, wenn er eine neue IP bekommt diese selbstständig an den DNS-Betreiber weiter, so dass dein DNS-Eintrag stehts aktuell aufgelöst wird.
Da brauchst du dann auch keinen Cronjob mehr. Du kannst jederzeit von überall mit der der dir zugewiesenen Domain des dyn-DNS-Dienstes auf deinen Homeserver zugreifen.
 
Ok, war durch die loopback-Adresse verwirrt. Da könnte man von außen schlecht drauf weiterleiten :D

Wie schon erklärt, braucht man für die Zuordnung dynamisches DNS. Zumindest wenn man es ordentlich machen will. Mit einer (einmaligen) manuellen Weiterleitung würde sonst die IP in der Adressleiste vom Browser stehen (verlinkten wäre damit z.B. sehr unschön), und per Frame hätte man überhaupt keine richtige URL im Browser.

Und CNAME's für die Subdomains etc. wurde ja schon genannt.
Die Virtual Hosts brauchst du halt, damit der Apache die Anfragen auf die Subdomains auch vernünftig zuordnen kann. Dann braucht man da keinerlei Weiterleitungen.
 
Zuletzt bearbeitet:
Nein, ich hab das wirklich nicht so verstanden.
Mit einer Dyn-DNS Umleitung habe ich es auch schon versucht und es funktioniert.
Eine 301 oder 302 Weiterleitung geht einwandfrei (mit http getestet), ich möchte in der Adresszeile meine Domain stehen haben und keine fremde.

Wenn ich etwas an meinem Apache, auf meinem HomeServer ändere, dann ist damit ja nicht das Internet betroffen. Ich weiß nicht wie die Weiterleitung funktionieren sollte. Ich muss dafür ja etwas an meinem (Web-) Server ändern. Aber bis auf php und html in den Websapce einfügen geht ja nicht.
 
Zuletzt bearbeitet:
Eine Weiterleitung (im Sinne von HTTP Weiterleitungen) brauchst du eigentlich nicht.
Die DNS Einträge (auch die der Subdomains) zeigen alle auf deine IP. Aus deinem LAN antwortet dann dein lokaler Webserver (Apache). Der muss dann die virtuellen Hosts konfiguriert haben, damit er die Anfragen auf die Subdomains auch verstehen kann.
Hinter den Subdomains könnten auch komplett andere IP's stecken. Du willst die ja alle auf einen Server senden. Der muss die Anfragen entsprechend zuordnen können, deshalb die virtuellen Hosts. Damit kannst du dann eine Subdomain z.B. auf deine owncloud Installation zuordnen.
Etwa so
Code:
<VirtualHost *:80>
    ServerName owncloud.mydomain.tld
    DocumentRoot /var/www/owncloud
</VirtualHost>
Wenn die Domain "owncloud.mydomain.tld" jetzt auf den Webserver verweist, sollte es funktionieren und deinem Wunsch entsprechen.

Etwas in die Apache Konfiguration einlesen, dann klappt das schon ;)
 
Zuletzt bearbeitet:
Danke T0a5tbr0t. Ich komme damit aber noch immer nicht weiter

Ich habe nach deinem Muster den VirtualHost in der default.conf des Apaches (auf meinem HomeServer) geändert.
Wenn ich jetzt meine Router IP (oder die DynDNS Adresse) eingebe, dann gelange ich direkt auf meine OwnCloud Seite (da ja: DocumentRoot geändert ist).
Also war die Sache jetzt nur gut, um den Unterordner los zu werden?

Wie soll ich jetzt aber ohne fremde Domain (also DynNDS Anbieter) auf meinen HomeServer (Router IP) zugreifen?
Meine eigene Domain leite ich (fix per 301) auf die kostenlose Subdomain des DynDNS Anbieters um, der leitet zu meiner Router IP weiter. Wie behalte ich meine eigene Domain in der Adresszeile?

Das müsste ich dann ja auch wieder in der hosts-Datei oder per VirtualHost auf meiner Domain machen!? Aber darauf kann ich ja nicht zugreifen, wenn ich keinen vollen Serverzugriff habe (also nur die Domain und den Webspace gemietet hat)?
Ergänzung ()

.
Hilft das weiter:
dns.PNG
Bei meinem Hoster kann ich DNS Einstellungen machen. Bei Name den meine eigene (Sub-) Domain eintragen und bei Wert die DynDNS Adresse?
 
Zuletzt bearbeitet:
Ja, und bei Typ CNAME wählen.
Typ A ist für Weiterleitungen an eine IP.
 
Vielen Dank, das ist es jetzt glaub ich :)

Mein eigentliches Vorhaben mit dem Frame wurde zwar verworfen, dass ist jetzt aber umso besser ...
 
Zurück
Oben