https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

kafisc
Beiträge: 131
Registriert: 08.09.2015, 15:14
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von kafisc » 18.02.2021, 12:57

Hi zusammen,

wie sehen denn aktuell Euro Configs aus?
Ich habe aktuell mit Apache/2.4.38 und Raspbian 10 (Buster( das Problem, dass der Reverse Proxy zwar wunderbar mit Tinymatic funktioniert, aber der Aufruf der WebUI nicht funktioniert.

Folgende URL wird nach der Authentifizierung in der Browserleiste aufgerufen:
https://meine-domain.de/login.htm

Und als FM wird folgendes angezeigt:
Not Found
The requested URL was not found on this server.
Apache/2.4.38 (Raspbian) Server at meine-domain.de Port 443
Bild

Der Aufruf anderer Beispielseiten funktioniert (Beispiel):
ProxyPass /test/ http://192.168.1.100/ timeout=1200
ProxyPassReverse /test/ http://192.168.1.100/ timeout=1200

Und hier meine Config (default-ssl.conf):

Code: Alles auswählen

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                ServerName meine-domain.de

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
 SSLCertificateFile    /pfad/zu/cert/cert.pem
 SSLCertificateKeyFile /pfad/zu/key/key.pem
 
 
 
 
 
   <Location />
    AuthType basic
    AuthName "home"
      AuthUserFile  /etc/apache2/ssl/httpsusers
    Require valid-user
  </Location>
 
 
 

  <IfModule mod_proxy.c>
        ProxyRequests off
        RewriteEngine On

        redirectmatch ^/ccu$ /ccu/

        rewritecond %{REQUEST_URI} ^/ccu/
        rewriterule (.*) $1 [PT]

        rewritecond %{HTTP_REFERER} https://meine-domain.de/ccu/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/webui/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/webui/js/extern [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/pda/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/api/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/addons/xmlapi/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/addons/cuxd/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/addons/cuxchart/ [OR]
        rewritecond %{HTTP_REFERER} https://meine-domain.de/ise/ [OR]
        rewritecond %{HTTP_REFERER} \?sid\=\@.+\@ [OR]
        rewritecond %{THE_REQUEST} \?sid\=\@.+\@

        rewriterule ^/(.*) /ccu/$1 [PT]
        rewriterule ^/pda/(.*) /ccu/pda/$1
        rewriterule ^/webui/(.*) /ccu/webui/$1
        rewriterule ^/webui/js/extern/(.*) /ccu/webui/js/extern/$1
        rewriterule ^/addons/db/(.*) /ccu/addons/db/$1
        rewriterule ^/addons/xmlapi/(.*) /ccu/addons/xmlapi/$1
        rewriterule ^/addons/cuxd/(.*) /ccu/addons/cuxd/$1
        rewriterule ^/addons/cuxchart/(.*) /ccu/addons/cuxchart/$1
        rewriterule ^/ise/(.*) /ccu/ise/$1

        ProxyPass /ccu/ http://192.168.1.18/ timeout=1200
        ProxyPassReverse /ccu/ http://192.168.1.18/ timeout=1200


    </IfModule>
	
	      </VirtualHost>
</IfModule>
Die access-Log sieht so aus:

Code: Alles auswählen

11.11.11.11 - MeinUser [18/Feb/2021:12:50:52 +0100] "GET /ccu/ HTTP/1.1" 200 1630 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"
11.11.11.11 - MeinUser [18/Feb/2021:12:50:52 +0100] "GET /ccu/pages/index.htm HTTP/1.1" 302 604 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"
11.11.11.11 - MeinUser [18/Feb/2021:12:50:52 +0100] "GET /login.htm HTTP/1.1" 404 517 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"

rascal
Beiträge: 817
Registriert: 02.10.2012, 23:30

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von rascal » 06.05.2022, 20:21

Hallo,
ich habe genau das selbe Problem.
Musste meinen Server neu aufsetzen (jetzt Ubuntu 22.04, vorher 20.x)

die Apache config hatte ich gesichert und habe sie wieder zurückgespielt. Jetzt komme ich von außen nicht mehr auf die CCU, mit der selben Meldung wie der Kollege oben.

Code: Alles auswählen

Not Found
The requested URL was not found on this server.

Apache/2.4.52 (Ubuntu) Server at mastermind.martinhartl.mine.nu Port 443
Alles Andere habe ich, so wie beim alten Server, von der Anleitung her installiert.

cloudman88
Beiträge: 151
Registriert: 26.10.2020, 11:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 12 Mal
Danksagung erhalten: 22 Mal

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von cloudman88 » 08.05.2022, 09:54

Das sieht nach einem DNS Problem aus.
Wenn du intern und extern den gleichen Hostnamen verwenden möchtest brauchst du 2 DNS Server. Der interne muss dann eben die 192.168. Xx Adresse liefern und der externe die public IP.

In RaspberryMatic ist mittlerweile Tailscale als VPN integriert - das ist in 5 Minuten konfiguriert

rascal
Beiträge: 817
Registriert: 02.10.2012, 23:30

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von rascal » 08.05.2022, 10:51

Danke für die Info, werde mir tailscale einmal anschauen.
Wenn dieser komische Tag heute in Österreich endlich vorbei ist :roll:

murksmax
Beiträge: 2
Registriert: 06.08.2022, 08:23
System: CCU

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von murksmax » 06.08.2022, 08:50

Moin zusammen,

habe jetzt meine CCU mit raspi-matic auf einem RasPi 4 (Version: 3.65.6.20220723 (rpi4)) in Betrieb genommen. Die CCU läuft einwandfrei, Geräte werden erkannt und das Pairing funktioniert einwandfrei. Allerdingshabe ich Probleme bei der Programmierung der Wochenprogramme über einen Apache Reverse Proxy :( Eine Programmierung direkt im LAN erfolgt ohne Schwierigkeiten :?

Meine vhost-Config:

Code: Alles auswählen

<VirtualHost *:443>
        ServerName VHOSTHOST.DOMAIN.TLD
        ServerAdmin webmaster@DOMAIN.TLD

        ErrorLog /var/log/httpd/VHOST/error_log
        CustomLog /var/log/httpd/VHOST/access_log combined
        LogLevel error


        DocumentRoot /var/www/raspimatic/
        <Directory "/var/www/raspimatic">
                # AllowOverride all
                AllowOverride None
                Require all granted
        </Directory>

        ProxyRequests On
        ProxyVia On

        <location />
                ProxyPass        http://192.168.3.244/
                ProxyPassReverse http://192.168.3.244/

        
                AuthType Basic
                AuthName "Anmeldung erforderlich"
                AuthUserFile /var/www/htaccess/htpasswd
                Satisfy Any
                Require valid-user

                Options +FollowSymLinks +ExecCGI -MultiViews

                Order deny,allow
                Deny from all
        </location>

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/VHOSTHOST.DOMAIN.TLD/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/VHOSTHOST.DOMAIN.TLD/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/VHOSTHOST.DOMAIN.TLD/chain.pem
</VirtualHost>
Irgendwie komme ich nicht weiter und drehe schon am Rad - was habe ich in der Config vergessen bzw. was muss ich anders machen, damit es läuft? Mit der obigen Config rödelt er sich mit dem Fenster "Geräte-/Kanaleinstellungen werden an die Komponenten übertragen ..." einen Wolf :evil:

Grüße von der Nordseeküste
Max
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

MichaelN
Beiträge: 9654
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1617 Mal

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von MichaelN » 07.08.2022, 12:47

Die Übertragung der Wochenprogramme erfordert sehr lange URL. Vielleicht wird die bei dir irgendwo begrenzt?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

murksmax
Beiträge: 2
Registriert: 06.08.2022, 08:23
System: CCU

Re: https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Beitrag von murksmax » 07.08.2022, 13:48

MichaelN hat geschrieben:
07.08.2022, 12:47
Die Übertragung der Wochenprogramme erfordert sehr lange URL. Vielleicht wird die bei dir irgendwo begrenzt?
Moin,
da habe ich auch schon nachgeschaut und auch mit der Länge gespielt. Habe das Wochenprogramm auf einen Tag und nur eine Schaltaktion eingeschränkt - Feste Uhrzeit, Montag, 07:00 Uhr --> Aus. Aber auch das hilft nix :cry:

Auf dem Pi sind die Settings für die max. Länge mit 65k korrekt. Im Logfile vom Proxy habe ich keinen entsprechenden Eintrag gefunden. Wenn ich den Apache im Debug-Modus laufen lasse, bekomme ich aber eine Handvoll Meldungen, dass ein Login fehlt :?
Was für ein Login? Eigentlich ist doch ein Session-Ticket vom Browser vorhanden, das dafür ausreichen müsste ...

Für neue Ratschläge bin ich immer offen ...
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“