Moin, ich habe einen von außen nicht erreichbaren privaten Server. Dieser stellt eine Nextcloud instanz bereit. Nun soll er natürlich aus den Weiten des Internets ebenfalls erreichbar sein. Darum habe ich auf dem privaten Server einen SSH-Tunnel zu einem öffentlichen Server mit fester IP und allem was man so benötigt gemacht mit folgendem Befehl (später möchte ich hierfür Autossh als Systemdienst verwenden):
1 | ssh -R 5000:localhost:80 user@öffentlicher-server.tld |
Im nächsten Schritt möchte ich dann auf dem öffentlichen Server per ProxyPass in einem Virtualhost die entsprechende Domain abfangen. Aber so weit bin ich gar nicht gekommen:
Wenn ich nun auf dem öffentlichem Server mittels Lynx auf "http://localhost:5000" gehe, bekomme ich u.a. meine phpinfo.php-Datei angezeigt die ich auch aufrufen kann. Wenn ich jetzt aber auf "http://localhost:5000/nextcloud" gehe, bekomme ich nach einigen Versuchen vom Lynx den Fehler "Location url is not absolute" angezeigt. Auf dem Server kommt folgender Eintrag in die Access.log:
1 | ::1 - - [25/Nov/2017:23:07:48 +0100] "GET /nextcloud/ HTTP/1.0" 302 - |
folglich Error-Code 302. Meine zwei Config-Dateien auf dem privatem Server sehen wie folgt aus:
Zuerst der Default-Fall, falls der Server ohne Domain etc. angesprochen wird - dieser Fall springt auch an, da die entsprechende Logdatei gefüllt wird:
<VirtualHost *:80> ErrorLog /var/log/httpd/default-error.log CustomLog /var/log/httpd/default-access.log common </VirtualHost>
Und eine zweite Config-Datei die einerseits den Alias /nextcloud abfängt (was hier das Relevante ist), andererseits bei Aufruf einer bestimmten Domain anspricht (was auch funktioniert):
<IfModule mod_alias.c> Alias /nextcloud /usr/share/webapps/nextcloud/ </IfModule> <Directory /usr/share/webapps/nextcloud/> Options FollowSymlinks AllowOverride all Require all granted php_admin_value open_basedir "/srv/http/:/dev/urandom:/tmp/:/usr/share/pear/:/usr/share/webapps/nextcloud/:/etc$ </Directory> <VirtualHost *:80> ServerAdmin foo@foofarm.com DocumentRoot /usr/share/webapps/nextcloud ServerName nextcloud.mydomain.tld ErrorLog /var/log/httpd/nextcloud.foo.info-error_log CustomLog /var/log/httpd/nextcloud.foo.info-access_log common </VirtualHost>
Ich hoffe, ihr könnt mir einen Tipp geben, wo mein Fehler liegt. Denn momentan fällt mir leider nichts mehr ein...
(Hintergrund der ganzen Geschichte: Ich habe keine eigene IPv4 mehr sondern bin per DS-Lite online. Also variabler IPv6 Adressraum sowie eine IPv4 per NAT mit vielen anderen Leuten zusammen. Per IPv6 komme ich auch wunderbar auf den Server - aber leider ist sehr oft kein IPv6 verfügbar, z.B. in vielen Handynetzen, öffentlichen Wlans, Firma... - daher brauche ich eine Möglichkeit per IPv4 auf den IPv6 Server zuzugreifen. Aber das spielt technisch hier ja keine Rolle...)