Aktionen

Apache2 als Reverse Proxy für Home Assistent: Unterschied zwischen den Versionen

Aus znilwiki

KKeine Bearbeitungszusammenfassung
Zeile 29: Zeile 29:
<br>
<br>
----
----
==Einstellung in der .vhost für Apache==
==Einstellung in der .vhost für Apache - normale Version==
Im Apache müssen die für die Proxy-Funktion notwendigen Module aktiviert sein:<br>
Im Apache müssen die für die Proxy-Funktion notwendigen Module aktiviert sein:<br>
  a2enmod proxy_http proxy_wstunnel
  a2enmod proxy_http proxy_wstunnel

Version vom 23. Mai 2025, 15:07 Uhr

Changelog:

  • 23.03.2025 erste Version

Vorwort

Da ich mir das wieder aus mehreren Quellen zusammensuchen musste bis es funktionierte, habe ich eine eigen Anleitung dafür geschrieben.


Anpassungen an Home Assistent

Die configuration.yaml muss bearbeitet werden, und zwar muss man folgenden Abschnitt hinzufügen:

# Für Reverse Proxy
http:
  use_x_forwarded_for: True
  trusted_proxies:
    - 192.168.1.2
    - 192.168.0.0/22
    - 10.42.42.0/24
    - 127.0.0.1
  ip_ban_enabled: True
  login_attempts_threshold: 5

Ihr müsst folgendes Anpassen:

192.168.1.2                    ist die IP-Adresse meines Reverse Proxy
192.168.0.0/22                 ist mein Heimnetzwerk #1
10.42.42.0/24                  ist mein Heimnetzwerk #2
127.0.0.1                      ist das Home Assistent System selbst
ip_ban_enabled: True           blockiert Quell IP-Adressen nach Anmeldefehlversuchen
login_attempts_threshold: 5    Anzahl der Fehlversuche die zur Blockade führen




Einstellung in der .vhost für Apache - normale Version

Im Apache müssen die für die Proxy-Funktion notwendigen Module aktiviert sein:

a2enmod proxy_http proxy_wstunnel
systemctl restart apache2.service

In der .vhost Datei der Webseite müsst Ihr folgendes ergänzen:

ProxyPreserveHost On
ProxyRequests off
ProxyPass /api/websocket ws://192.168.0.8:8123/api/websocket
ProxyPassReverse /api/websocket ws://192.168.0.8:8123/api/websocket
ProxyPass / http://192.168.0.8:8123/
ProxyPassReverse / http://192.168.0.8:8123/

RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*)  ws://192.168.0.8:8123/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*)  http://192.168.0.8:8123/$1 [P,L]

Die 192.168.0.8 müsst Ihr überall durch die IP eures Home Assistent System ersetzen.

Das sieht zumindest zum Teil doppelt gemoppelt aus, funktioniert aber.


Kommentare

Loading comments...