apache2 ssl redirect abhängig von quelle

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.552
Hi,

bei mir zu hause läuft nextcloud. Von außen über eine dynamische IP erreichbar. Ich hätte gerne eine Umleitung auf ssl. eine Anfrage über die interne IP soll aber auch auf die interne umgeleitet werden.

bei mir gibt es für den port 80 und für den port 443 eine .conf

Inhalt der ports.conf
Code:
NameVirtualHost myurl.ddns.net:80
NameVirtualHost 192.168.1.2:80
NameVirtualHost 127.0.0.1:80
Listen 80

Inhalt der nextcloud-Redirect.conf
Code:
<VirtualHost myurl.ddns.net:80>
  ServerName myurl.ddns.net
  Redirect temp / https://myurl.ddns.net/
</VirtualHost>
<VirtualHost 192.168.1.2:80>
  ServerName 192.168.1.2
  Redirect temp / https://192.168.1.2/
</VirtualHost>
<VirtualHost 127.0.0.1:80>
  ServerName 127.0.0.1
  Redirect temp / https://myurl.ddns.net/
</VirtualHost>

Gebe ich direkt https://myurl.ddns.net im Internet ein komme ich an.
Gebe ich allerdings myurl.ddns.net in die adressbar, findet er nichts und versucht dann auf 192.168.1.2 zu verbinden, was natürlich von extern nicht zu erreichen ist.

Was mache ich da falsch?
 
Code:
<VirtualHost *:80>
  ServerName myurl.ddns.net
  Redirect temp / https://myurl.ddns.net/
</VirtualHost>

Da oben gehört die listen IP hin, nicht der hostname, dafür ist der ServerName da. (* = jede IP)

Edit: Und wenn man es nicht prinzipiell auf ein Netzwerk beschränken will, dann kann man da auch überall einen * reinmachen, der ServerName entscheidet dann ob der virtualhost der richtige ist, oder nicht.

NameVirtualHost *:80 muss es dann natürlich auch sein.

Wenn außerhalb deines Ausschnitts kein Fehler (oder weitere ddefinition von *:80, z.B. in der apache2.conf) mehr ist, dann müsste es eigentlich so gehen.
 
Zuletzt bearbeitet:
Cool danke, werde es heute noch mal ausprobieren. Habe die Dokentation jetzt noch mal gelesen, es aber auch erst jetzt verstanden. Was bringt das ? Brauche ich das, oder ist das nur BB Code.
 
Zurück
Oben