Korrekte Einstellung für Apache VirtualHosts?

Alles, was den Apache betrifft, kann hier besprochen werden.

Korrekte Einstellung für Apache VirtualHosts?

Postby stna1981 » 10. September 2018 21:17

Hi zusammen,

ich habe folgende Ordnerstruktur auf meinem Raspberry:

/var/www/html (nur die index.html)
/var/www/html/admin
/var/www/html/pihole
/var/www/html/nextcloud

Der RPi ist über Unbound local-zone per raspi.home und cloud.home im LAN erreichbar.
Ich würde es gerne so konfigurieren, dass:

- Aufrufe per http://<ip> oder http://raspi.home auf der /var/www/html/index.html landen (Startseite)
- Aufrufe per http://<ip>/admin oder http://raspi.home/admin auf /var/www/html/admin gehen, für http://cloud.home/admin soll ein Fehler kommen
- Aufrufe per http://<ip>/pihole oder http://raspi.home/pihole auf /var/www/html/pihole gehen, für http://cloud.home/nextcloud soll ein Fehler kommen
- Aufrufe per http://<ip>/nextcloud oder http://cloud.home auf /var/www/html/admin forwarden, für http://raspi.home/nextcloud soll ein Fehler kommen. Zusätzlich soll ein Aufruf über Port 80 immer auf 443 umgeleitet werden, um https zu nutzen

Lässt sich das per Apache VirtualHosts irgendwie bewerkstellige? Habe schon einige Varianten durch, aber das richtige war wohl noch nicht dabei, oder der lokale DNS Cache hat mir in die Suppe gespuckt. Bin jetzt aber grad unsicher, wie die richtige Config ist, gerade was das Blocken unzulässiger Aufrufe wie raspi.home/nextcloud angeht, damit hab ich bisher nix gemacht.

Mein letzter Versuch sah so aus:

Code: Select all
<VirtualHost *:80>
  ServerName cloud.home

  Redirect /nextcloud https://cloud.home
  RedirectMatch "!/nextcloud" /var/www/html
</VirtualHost>

<VirtualHost *:443>
  ServerName cloud.home
  DocumentRoot /var/www/html/nextcloud

  # SSL aktivieren
  SSLEngine On
  SSLCertificateFile ...
  SSLCertificateKeyFile ...

  RedirectMatch "!/nextcloud" /var/www/html
</VirtualHost>

<VirtualHost *:80>
  ServerName raspi.home
  DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:443>
  ServerName raspi.home

  Redirect / http://raspi.home
</VirtualHost>


Viele Grüße

Stefan
stna1981
 
Posts: 3
Joined: 10. September 2018 21:10
XAMPP version: 7.2.9
Operating System: Ubuntu 16.04

Re: Korrekte Einstellung für Apache VirtualHosts?

Postby Nobbie » 11. September 2018 17:08

Code: Select all
<VirtualHost *:80>
ServerName xxx.xxx.xxx.xxx
Redirect / https://xxx.xxx.xxx.xxx
</VirtualHost>

<VirtualHost *:80>
ServerName raspi.home
Redirect / https://raspi.home
</VirtualHost>

<VirtualHost *:80>
ServerName cloud.home
Redirect / https://cloud.home
</VirtualHost>

<VirtualHost *:443>
ServerName xxx.xxx.xxx.xxx
DocumentRoot /var/www/html
Alias /nextcloud /var/www/html/admin
  # SSL aktivieren
  SSLEngine On
  SSLCertificateFile ...
  SSLCertificateKeyFile ...
</VirtualHost>

<VirtualHost *:443>
ServerName raspi.home
DocumentRoot /var/www/html
Alias /nextcloud /var/www/html/raspi-fehler
  # SSL aktivieren
  SSLEngine On
  SSLCertificateFile ...
  SSLCertificateKeyFile ...
</VirtualHost>

<VirtualHost *:443>
ServerName cloud.home
DocumentRoot /var/www/html/admin
Alias /admin /var/www/html/cloud-fehler
Alias /nextcloud /var/www/html/cloud-fehler
Alias /pihole /var/www/html/undefined
  # SSL aktivieren
  SSLEngine On
  SSLCertificateFile ...
  SSLCertificateKeyFile ...
</VirtualHost>                                                                                                                                                                                                                     


ZIemlich konfuse Konfiguration, aber so müßte es gehen. Für http://cloud.home/pihole hast Du kein Verhalten definiert. In den Ordner /var/www/html/cloud-fehler legst Du eine index.html mit der gewünschten Fehlermeldung, ebenso in den Ordner /var/www/html/raspi-fehler. Die ganzen VirtualHosts auf *:80 machen nur die Weiterleitung auf https. Vielleicht habe ich irgendetwas übersehen, aber die Verarbeitungslogik müßte Dir einleuchten, musst Du ggf. anpassen. Und jede Menge SSL Zertifikate brauchst Du noch.

Dein eigener "Versuch" ist gelinde gesagt chaotisch, eine Aneinanderreihung irgendwelcher Optionen und Einstellungen, Fehler ohne Ende, gehe ich erst gar nicht weiter drauf ein. Ist grausam.
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04

Re: Korrekte Einstellung für Apache VirtualHosts?

Postby stna1981 » 12. September 2018 00:00

Es soll nur für den cloud.home-Alias nach HTTPS umgeleitet werden, für Nextcloud. Das klappt auch.
Was komischerweise nicht klappt ist der umgekehrte Weg, z. B. für die IP:

Code: Select all
<VirtualHost *:443>
  ServerName xxx.xxx.xxx.xxx
  Redirect / http://xxx.xxx.xxx.xxx
</VirtualHost>

Muss man da irgendwas bestimmten beachten?
stna1981
 
Posts: 3
Joined: 10. September 2018 21:10
XAMPP version: 7.2.9
Operating System: Ubuntu 16.04

Re: Korrekte Einstellung für Apache VirtualHosts?

Postby Nobbie » 12. September 2018 10:24

Da fehlt der SSL Code, das muss auch vor einem Redirect getan werden.

Unabhängig davon ist der umgekehrte Redirect ja auch ziemlich schräg und ich vermute mal, dass die Browser das aus Sicherheitsgründen erst gar nicht ausführen. Ein Anwender fordert via https Daten auf einer gesicherten Leitung an und der Server macht "stickum" einen Redirect auf unverschlüsselte Daten - das ist ein ziemliches Verbrechen und ich weiß beispielsweise, dass Firefox schon Teile von Webseiten erst gar nicht ausliefert (also beispielsweise eingebettete Videos), wenn die angezeigte Seite von einem gesicherten Server kommt, das Video aber von einem ungesicherten Server. Dann kann man im Debug Modus nachlesen, dass Firefox die Auslieferung unterbindet.

Hier ist es ja noch wilder, da wird die komplette Seite ungesichert ausgeliefert, ohne Warnung, ohne Fehlermeldung, einfach unterm Hintern ausgetauscht. Das widerspricht sämtlichen Sicherheitsvorstellungen der Browserhersteller und deswegen vermute ich, selbst wenn die Konfiguration richtig ist, die Browser führen den Redirect nicht aus. Oder nur mit entsprechender Meldung vorher, dass jetzt ein Wechsel von https auf http stattfindet und die Daten nicht mehr gesichert sind.
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04

Re: Korrekte Einstellung für Apache VirtualHosts?

Postby stna1981 » 13. September 2018 14:18

Mit dem SSL coding klappt es. Die Seiten werden ja nicht ins Internet exponiert, sondern sind nur lokal per VPN zugreifbar. Ich halte das Risiko für püberschaubar.
Ich stehe ja noch ganz am Anfang, wenn alles erstmal läuft, kann ich immer noch ans Finetuning gehen :)
stna1981
 
Posts: 3
Joined: 10. September 2018 21:10
XAMPP version: 7.2.9
Operating System: Ubuntu 16.04


Return to Apache

Who is online

Users browsing this forum: No registered users and 19 guests