====== Zugriff auf lokale Webseiten ====== [[it_entwicklung:netzwerk_zugriff:tailscale:start|← Tailscale]] · [[:start|Startseite]] ---- Über Tailscale können die auf **EasyRider** betriebenen lokalen Webseiten auch von außerhalb des eigenen Heimnetzes aufgerufen werden. Der Zugriff erfolgt über das private Tailscale-Netz. Eine Portfreigabe am Internet-Router ist nicht erforderlich. ===== Voraussetzungen ===== Damit der Zugriff funktioniert, müssen sowohl EasyRider als auch das zugreifende Gerät mit Tailscale verbunden sein. Auf **EasyRider** müssen außerdem Apache und die benötigten lokalen Dienste laufen. ===== EasyRider ===== Für den Zugriff müssen auf EasyRider folgende Voraussetzungen erfüllt sein: * EasyRider ist eingeschaltet. * Eine Internetverbindung besteht. * Tailscale läuft und ist verbunden. * XAMPP ist gestartet. * Apache läuft. EasyRider ist über MagicDNS unter folgendem Namen erreichbar: `easyrider` ===== Smartphone ===== Auf dem Smartphone muss Tailscale installiert und mit demselben Tailscale-Netz wie EasyRider verbunden sein. Vor dem Zugriff: - Internetverbindung über WLAN oder Mobilfunk herstellen. - Tailscale starten. - Prüfen, dass Tailscale **Connected** anzeigt. - Browser öffnen. - Gewünschte Webseite über die entsprechende Adresse aufrufen. Eine Exit Node wird für diesen Zugriff nicht benötigt. Die Einstellung **Choose exit node** kann auf **None** bleiben. ===== Webseiten und Ports ===== Die lokalen Webseiten werden über getrennte Apache-Ports bereitgestellt. ^ Webseite ^ Port ^ Adresse über Tailscale ^ | **RoWaWiki** | 8081 | `http://easyrider:8081` | | **TheCruiserWiki** | 8082 | `http://easyrider:8082` | | **TheCruiserBlog** | 8083 | `http://easyrider:8083` | ===== Apache – zusätzliche Ports ===== Apache muss auf den verwendeten Ports lauschen. In: `E:\xampp\apache\conf\httpd.conf` sind folgende Einträge vorhanden: Listen 80 Listen 8081 Listen 8082 Listen 8083 Port 80 wird weiterhin für die normalen lokalen VirtualHosts verwendet. Die Ports 8081 bis 8083 dienen dem Zugriff über Tailscale. ===== Apache – RoWaWiki ===== In: `E:\xampp\apache\conf\extra\httpd-vhosts.conf` ist für RoWaWiki folgender zusätzlicher VirtualHost eingerichtet: # ============================================================ # RoWaWiki – Zugriff über Tailscale # ============================================================ DocumentRoot "E:/xampp/htdocs/rowawiki" Options FollowSymLinks AllowOverride All Require ip 100.64.0.0/10 DirectoryIndex index.php index.html ErrorLog "logs/rowawiki-tailscale-error.log" CustomLog "logs/rowawiki-tailscale-access.log" combined ===== Apache – TheCruiserWiki ===== Für TheCruiserWiki ist folgender zusätzlicher VirtualHost eingerichtet: # ============================================================ # TheCruiserWiki – Zugriff über Tailscale # ============================================================ DocumentRoot "E:/xampp/htdocs/thecruiserwiki" Options FollowSymLinks AllowOverride All Require ip 100.64.0.0/10 DirectoryIndex index.php index.html ErrorLog "logs/thecruiserwiki-tailscale-error.log" CustomLog "logs/thecruiserwiki-tailscale-access.log" combined ===== Apache – TheCruiserBlog ===== Für TheCruiserBlog ist folgender zusätzlicher VirtualHost eingerichtet: # ============================================================ # TheCruiserBlog – Zugriff über Tailscale # ============================================================ DocumentRoot "E:/xampp/htdocs/thecruiserblog" Options FollowSymLinks AllowOverride All Require ip 100.64.0.0/10 DirectoryIndex index.php index.html ErrorLog "logs/thecruiserblog-tailscale-error.log" CustomLog "logs/thecruiserblog-tailscale-access.log" combined ===== Lokale VirtualHosts ===== Die normalen lokalen VirtualHosts auf Port 80 bleiben vom Tailscale-Zugriff getrennt. Sie verwenden weiterhin: Require local Dadurch bleiben die bisherigen lokalen Adressen erhalten: * `http://rowawiki.local` * `http://thecruiserwiki.local` * `http://thecruiserblog.local` ===== WordPress – TheCruiserBlog ===== WordPress verwendet lokal weiterhin: `http://thecruiserblog.local` als WordPress- und Website-Adresse. Damit WordPress beim Zugriff über Tailscale CSS, JavaScript, Bilder und andere Ressourcen über die richtige Adresse ausliefert, wurde in: `E:\xampp\htdocs\thecruiserblog\wp-config.php` vor: /* That's all, stop editing! Happy publishing. */ folgender Block ergänzt: /* Zugriff über Tailscale */ if ( isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] === 'easyrider:8083' ) { define( 'WP_HOME', 'http://easyrider:8083' ); define( 'WP_SITEURL', 'http://easyrider:8083' ); } Dadurch kann dieselbe WordPress-Installation über beide Adressen verwendet werden: ^ Verwendung ^ Adresse ^ | Lokal auf EasyRider | `http://thecruiserblog.local` | | Über Tailscale | `http://easyrider:8083` | ===== Sicherheit ===== Die Tailscale-VirtualHosts verwenden: Require ip 100.64.0.0/10 Damit akzeptiert Apache für diese VirtualHosts nur Verbindungen aus dem von Tailscale verwendeten IPv4-Adressbereich. Es wurde **keine Portfreigabe am Internet-Router** eingerichtet. Die Webseiten werden daher nicht über diese Ports direkt für das öffentliche Internet bereitgestellt. ===== Nach Änderungen an Apache ===== Nach Änderungen an `httpd.conf` oder `httpd-vhosts.conf` muss Apache neu gestartet werden. Im XAMPP Control Panel: - Apache **Stop** - kurz warten - Apache **Start** Anschließend prüfen, ob Apache wieder ordnungsgemäß läuft. ===== Fehlerbehebung ===== Wenn eine Webseite von unterwegs nicht erreichbar ist, zunächst folgende Punkte prüfen: - Ist EasyRider eingeschaltet? - Hat EasyRider eine Internetverbindung? - Läuft Tailscale auf EasyRider? - Ist EasyRider in Tailscale erreichbar? - Läuft Apache in XAMPP? - Hat das Smartphone eine Internetverbindung? - Ist Tailscale auf dem Smartphone **Connected**? - Wird die richtige Adresse einschließlich Port verwendet? Beispiel für RoWaWiki: `http://easyrider:8081` Ein Aufruf von: `http://easyrider` ohne Port führt nicht zu einem der speziell eingerichteten Tailscale-VirtualHosts. ===== Schnellübersicht ===== **EasyRider:** `Einschalten → Internet → Tailscale verbunden → Apache starten` **Smartphone:** `Internet → Tailscale Connected → Browser → Webseite aufrufen` ^ Anwendung ^ Adresse ^ | **RoWaWiki** | `http://easyrider:8081` | | **TheCruiserWiki** | `http://easyrider:8082` | | **TheCruiserBlog** | `http://easyrider:8083` | [[#zugriff_auf_lokale_webseiten|↑]]