ubuntuusers.de

Redirect (Apache) für lokales Netzwerk und für Zugriff über das Internet

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

Lunar_Sea

Anmeldungsdatum:
8. Februar 2014

Beiträge: Zähle...

Hallo,

unter 10.0.0.2 komme ich auf meinen lokalen Apache Server (Apache2 Default Page), mit 10.0.0.2/nextcloud geht es dann zur Nextcloud. Mittels DDNS geht es über mein-host.ddns.net auch über das Internet auf den Apache Server, mit mein-host.ddns.net/nextcloud geht es dann wieder zur Nextcloud.

Nun habe ich versucht mittels 'Redirect' direkt (10.0.0.2 bzw. mein-host.ddns.net) auf die Nextcloud zu gelangen:

# .htaccess Datei erstellen
sudo touch /var/www/html/.htaccess

# Datei mit gedit öffnen
sudo gedit /var/www/html/.htaccess

# folgende Zeilen einfügen (Domain ersetzen)
#Redirect                              
RewriteEngine on
RewriteBase /
RewriteRule (.*) https://mein-host.ddns.net/nextcloud/$1 [R=301,L]

Allerdings wird jetzt auch der Zugriff aus dem lokalen Netzwerk über das Internet umgeleitet, was mir als nicht sinnvoll erscheint. Wie kann ich den RewirteRule Eintrag ändern, dass 10.0.0.2 auf 10.0.0.2/nextcloud und mein-host.ddns.net auf mein-host.ddns.net/nextcloud umgeleitet wird?

Info: Für die Weiterleitung von http auf https habe ich unter /etc/apache2/sites-available/ zwei .conf Dateien angelegt (nextcloud-redirect.conf und nextcloud.conf).

# Inhalt nextcloud-redirect.conf
<VirtualHost *:80>  
   ServerName mein-host.ddns.net
   ServerAdmin webmaster@example.com 

   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

# Inhalt nextcloud.conf
<IfModule mod_ssl.c>  
   <VirtualHost *:443>

     ServerAdmin webmaster@example.com 
     ServerName mein-host.ddns.net
     DocumentRoot /var/www/html/nextcloud

     <Directory /var/www/html/nextcloud/>
       Options +FollowSymlinks
       AllowOverride All

      <IfModule mod_dav.c>
        Dav off
      </IfModule>

       SetEnv HOME /var/www/html/nextcloud
       SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     <IfModule mod_headers.c>
          Header always set Strict-Transport-Security "max-age=15768000; preload"
     </IfModule>

      SSLEngine on
      SSLCertificateFile /etc/letsencrypt/live/mein-host.ddns.net/fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/mein-host.ddns.net/privkey.pem

   </VirtualHost>
</IfModule>

(Ich bin kein Profi und habe mir die Weiterleitungen mit Infos aus dem Internet zusammengebastelt.)

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Lunar_Sea schrieb:

Wie kann ich den RewirteRule Eintrag ändern, dass 10.0.0.2 auf 10.0.0.2/nextcloud und mein-host.ddns.net auf mein-host.ddns.net/nextcloud umgeleitet wird?

Lass den Host einfach weg:

RewriteEngine on
RewriteRule /(.*) /nextcloud/$1 [R=301,L]

Lunar_Sea

(Themenstarter)

Anmeldungsdatum:
8. Februar 2014

Beiträge: 109

Danke für die schnelle Info! Werde das gleich am WE testen und den Thread dann ggf. als 'gelöst' markieren.

Antworten |