Hallo liebe User,
Dem Englischen nicht so mÀchtig und im deutschen Bereich nichts dazu gefunden bleibt mir bei meiner frisch installierten nextcloud (12) folgendes Problem:
Ich gebe im Browser die Adresse meinecloud.de:451 ein. Diese leitet mich prima weiter auf meine fritzbox welche den Port auf einen nextcloudserver (Odroid) Port 443 weiterleitet. Im Browser steht nun auch brav https://meinecloud.de und die Einlogseite wird angezeigt. Nach Eingabe von Passwort und User gehts dann weiter und der browser geht zwar zum richtigen link aber nur http:// . Ergebnis ist ein Bad request das ich versuche eine https Seite per http anzusprechen. Also fĂŒge ich noch das s in der browserzeile ein und schwups bin ich in meiner cloud, alles funktioniert und sĂ€mtliche Seiten die ich in der cloud anwĂ€hle beginnen mit https://
Nun logge ich mich aus. Wieder ein Bad request da ich auf http gefĂŒhrt werde. Manuell https draus machen und ich werde ausgeloggt, allerdings wieder ein Bad request da ich auf die Loginseite http geleitet werde.
Das ganze lÀuft mit apache2 und php7. Habe ich da irgendwas in der config.php oder mit dem VirtualHost falsch gemacht?
WeiĂ leider nicht mehr weiterâŠ
Hi!
Probier mal den folgenden Parameter in deiner config.php zu setzen:
âoverwrite.cli.urlâ => âhttps://meinecloud.de:451â,
Der kursiv geschriebene Teil sollte die URL sein, unter welcher Du deine Nextcloud ansprechen möchtest.
Sollte das auch nicht funktionieren, mĂŒssen wir uns nĂ€her mit deiner Konfiguration auseinandersetzen
Hola,
danke fĂŒr Deine Antwort. Dort kann ich âhttps://meinecloud:451â oder auch âmeinecloud:451â einsetzen. Beide FĂ€lle funktionieren.
Ich habe zwischenzeitlich die /etc/apache2/sites-available/nextcloud.conf geÀndert. Seit dem funktioniert es. Diese besteht nun aus folgendem einfachen Inhalt:
Alias /nextcloud â/var/www/nextcloud/â
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000;$
</IfModule>
Damit funktionierts. Vorher sah sie lt. im Netz gefundenen Anweisung so aus:
<VirtualHost *:80>
ServerName meinecloud:451
Redirect permanent / https://meinecloud:451/
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName https://meinecloud:451
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTPS_HOME /var/www/nextcloud
Satisfy Any
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
</IfModule>
</Directory>
Ich habe leider zu wenig Ahnung um zu wissen was beim letzteren falsch ist, bzw. was beim aktuellen Inhalt noch fehlt.
Hi!
Du hast bei letzterem ânamebased virtualhostsâ definiert. Das ist ein Feature mit welchem Apache mehrere verschiedene Webseiten, zB. www.test.com und www.test.org usw. auf einer einzigen IP-Adresse hosten kann.
Die Zahl bei zB.
<VirtualHost *:80>
bezieht sich auf den Port auf den Apache lauschen soll. In deinem Fall hast Du die Ports 80 (normalerweise http) und 443 (normalerweise https) definiert, obwohl deine Nextcloud Instanz auf Port 451 lauscht (entnehme ich zumindest der von Dir geposteten URL.). Je nachdem wie dein Nextcloudserver geantwortet hat, hast Du damit deinen Browser quasi auf eine kleine âRedirect Reiseâ gesendet, die nicht ganz dort geendet hat, wo Du wolltest
Wenn Du nur eine einzige Webseite hostest, dann kannst Du auf virtual hosts verzichten.
WeiterfĂŒhrende Seiten:
Aufbau einer URL: Uniform Resource Locator â Wikipedia
Apache namebased virtualhosts: Name-based Virtual Host Support - Apache HTTP Server Version 2.4