https Reverse Proxy für Sicheren CCU Zugriff von Unterwegs

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

ChristianF
Beiträge: 395
Registriert: 27.06.2014, 21:50

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

Beitrag von ChristianF » 17.05.2016, 00:32

Hallo,

ich möchte mich auch noch einmal herzlich bei allen bedanken, die an diesem Tutorial mitgewirkt haben.
Besonderen Dank an unlight, dessen Beitrag http://homematic-forum.de/forum/viewtop ... 70#p159088 erst zum Erfolg geführt hat (Gott weiß, warum es vorher nicht geklappt hat..).

Habe inzwischen auch meine Synology DiskStation mit untergebracht, und auch das funktioniert perfekt.

Was ich nicht hinbekomme: die ioBroker VIS mit aufzunehmen. Habe nun diverse Anläufe gemacht, bekomme es aber nicht hin. Es gibt hier http://forum.iobroker.net/viewtopic.php?t=1227 eine Anleitung dazu, aber ich bringe es ums Verrecken nicht hin.

Zur Info unten meine Config, vielleicht hat ja jemand eine Idee oder kann den Teil über die Syno gebrauchen (getestet für DSM5).

Viele Grüße
Christian

Code: Alles auswählen

    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www/>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    AuthType basic
    AuthName "Webserver CFP Auth"
    AuthUserFile /etc/apache2/ssl/httpsusers
    Require valid-user
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>
    SSLCertificateFile /etc/apache2/ssl/server.crt
    SSLCertificateKeyFile /etc/apache2/ssl/server.key
    ErrorLog ${APACHE_LOG_DIR}/error.log


    <IfModule mod_proxy.c>
    ProxyRequests off
    ProxyHTMLExtended On
    RewriteEngine On
    redirectmatch ^/ccu$ /ccu/
    rewritecond %{REQUEST_URI} ^/ccu/
    rewriterule (.*) $1 [PT]
    rewritecond %{HTTP_REFERER} https://domain.tld/ccu/ [OR]
    rewritecond %{HTTP_REFERER} https://domain.tld/webui/ [OR]
    rewritecond %{HTTP_REFERER} https://domain.tld/pda/ [OR]
    rewritecond %{HTTP_REFERER} https://domain.tld/api/ [OR]
    rewritecond %{HTTP_REFERER} https://domain.tld/addons/cuxd/ [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 ^/addons/db/(.*) /ccu/addons/db/$1
    rewriterule ^/addons/cuxd/(.*) /ccu/addons/cuxd/$1


    ProxyPass /ccu/ http://192.168.1.52/
    <Location /ccu/>
    #SecFilterEngine Off
    allow from all
    AuthType basic
    AuthName "Webserver CFP Auth"
    AuthUserFile /etc/apache2/ssl/httpsusers
    require valid-user
    ProxyPassReverse /
    </Location>
	
	
	# Synology DiskStation, ist dann erreichbar unter https://domain.tld/ ohne weitere Unterverzeichnisangaben
	ProxyPass / http://IPderSynoDS:5000/
	ProxyPassReverse / http://IPderSynoDS:5000/
	ProxyPass /syno/ http://IPderSynoDS:5000/
    ProxyPassReverse /syno/ http://IPderSynoDS:5000/
	ProxyPass /dsm/ http://IPderSynoDS:5000/
	ProxyPassReverse /dsm/ http://IPderSynoDS:5000/
	ProxyPass /scripts/ http://IPderSynoDS:5000/scripts/
	ProxyPassReverse /scripts/ http://IPderSynoDS:5000/scripts/
	ProxyPass /webfm/ http://IPderSynoDS:5000/webfm/
	ProxyPassReverse /webfm/ http://IPderSynoDS:5000/webfm/
	ProxyPass /webapi/ http://IPderSynoDS:5000/webapi/
	ProxyPassReverse /webapi/ http://IPderSynoDS:5000/webapi/
	
    <Location />
    #SecFilterEngine Off
    allow from all
    AuthType basic
    AuthName "Webserver CFP Auth"
    AuthUserFile /etc/apache2/ssl/httpsusers
    require valid-user
    ProxyPassReverse /
    </Location>

	
    </IfModule>
	
	<Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
    SSLEngine on
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
    </IfModule>
370 Kanäle in 119 Geräten und 22 CUxD-Kanäle in 18 CUxD-Geräten, dazu ioBroker und diverse weitere eingebundene Systeme, vom 433MHz Bewegungsmelder bis hin zur Wallbox.

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

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

Beitrag von grissli1 » 12.06.2016, 17:03

Hi,

brauche mal Hilfe bei der Einbindung von Owncloud.
Habe Zertifikate und eine zweite DynDns Adresse erstellt. Aber ich komm mit der Config in der default.ssl nicht weiter.
So hatte ich es vor den Block <VirtualHost _default_:443> mit dem CCU Zugriff eingetragen:

Code: Alles auswählen

<VirtualHost *:443>
        ServerName meinecloud.dyndns.com

        DocumentRoot /var/www/owncloud

       <Directory /var/www/owncloud/>
                AllowOverride All
        </Directory>

        #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
        SSLEngine on

        #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
        #   If both key and certificate are stored in the same file, only the
        #   SSLCertificateFile directive is needed.
        SSLCertificateFile    /etc/apache2/ssl/cloud.server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/cloud.server.key

<IfModule mod.proxy.c>
	ProxyRequests off
	RewriteEngine On

    redirectmatch ^/owncloud$ /owncloud/

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

    rewritecond %{HTTP_REFERER} https://meinecloud.dyndns.com/owncloud/
    rewriterule ^/(.*) /owncloud/$1 [PT]

	ProxyPass /owncloud/ http://192.168.1.23/owncloud
	ProxyPassReverse /owncloud/ http://192.168.1.23/owncloud
	
 </IfModule>

</VirtualHost>
Sobald ich das eintrage, funktioniert kein Zugriff zur CCU mehr. Kenn mich da leider nicht so aus.
Wenn ich das IfModule weg lasse und es so wie unten mache, funktioniert auch nichts mehr.

Code: Alles auswählen

<VirtualHost *:443>
        ServerName meinecloud.dyndns.com

        DocumentRoot /var/www/owncloud

       <Directory /var/www/owncloud/>
                AllowOverride All
        </Directory>

        #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
        SSLEngine on

        #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
        #   If both key and certificate are stored in the same file, only the
        #   SSLCertificateFile directive is needed.
        SSLCertificateFile    /etc/apache2/ssl/cloud.server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/cloud.server.key

   ProxyPass /owncloud/ http://192.168.1.23/owncloud
   ProxyPassReverse /owncloud/ http://192.168.1.23/owncloud

</VirtualHost>
Nach einem Restart des Apache meldet er folgendes:

Code: Alles auswählen

[....] Restarting web server: apache2apache2: Could not reliably determine the s     erver's fully qualified domain name, using 127.0.1.1 for ServerName
[Sun Jun 12 17:13:23 2016] [warn] _default_ VirtualHost overlap on port 443, the      first has precedence
 ... waiting apache2: Could not reliably determine the server's fully qualified      domain name, using 127.0.1.1 for ServerName
[Sun Jun 12 17:13:24 2016] [warn] _default_ VirtualHost overlap on port 443, the      first has precedence
Danke und viele Grüße
Chris
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

kevin
Beiträge: 60
Registriert: 15.02.2016, 08:35

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

Beitrag von kevin » 12.06.2016, 22:23

Die Fehlermeldung besagt das du noch einen auf Port 443 laufen hast.
Was sagen die anderen config files?


Gesendet von iPhone mit Tapatalk

grissli1
Beiträge: 2268
Registriert: 22.06.2012, 17:46
System: Alternative CCU (auf Basis OCCU)
Wohnort: Tirol/Austria
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

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

Beitrag von grissli1 » 12.06.2016, 22:33

Ja ich habe ja auch das zweite Virtual Devices welches auf 443 hört von der CCU wie bei der Vorlage. Man sollte ja beide separat mit ServerName zuweisen können. Aber das klappt irgendwie nicht.
Entweder der eine Zugang klappt oder der andere.

Viele Grüße
Chris

Unterwegs @ G-Pad
System: RaspberryMatic 3.41.11.20190126 auf RPi3, ReverseProxy auf RPi3

kevin
Beiträge: 60
Registriert: 15.02.2016, 08:35

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

Beitrag von kevin » 13.06.2016, 11:17

Soweit richtig. Dann aber nicht *:443 sondern seite1:443 und seite2:443.
DNS entsprechend konfigurieren das der Server auch weiß wann er was antworten soll.
Am besten mal Tutorials googlen. Habs grad nicht auswendig im Kopf, ich nutze haproxy der das alles erledigt.


Gesendet von iPhone mit Tapatalk

caipirol
Beiträge: 5
Registriert: 17.06.2016, 13:51

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

Beitrag von caipirol » 03.07.2016, 17:10

Hallo zusammen,

musste meinen apache neu installieren, da mir die SD-Karte abgeraucht ist.
Leider bekomme ich den Reverse Proxy nicht mehr sauber zum Laufen.
Habe ständig: AH01797: client denied by server configuration: proxy Einträge im Apache error.log.
Habe im Netz auch gelesen, dass sich von 2.2 auf 2.4 was bei der Authantifizierung geändert hat
"The 2.4 release introduced significant changes to the authorization and authentication process."
Ich bekomme den Reverse Proxy nicht mehr zum laufen - habe mich 100% an die Anleitung gehalten.
Wo ist der Fehler? Was muss ich mit dem 2.4er Apache anders machen?

PaulG4H
Beiträge: 1184
Registriert: 11.08.2011, 10:09

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

Beitrag von PaulG4H » 12.07.2016, 13:19

Hallo,

Entschuldigt bitte die späte Rückmeldung...

Von Apache 2.2 auf 2.4 hat sich nur eine Kleinigkeit geändert, diese habe ich hier Dokumentiert:
https://www.lxccu.com/manuals:apache-re ... einrichten

Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

MrLee
Beiträge: 200
Registriert: 15.01.2014, 08:55
Hat sich bedankt: 2 Mal
Danksagung erhalten: 4 Mal

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

Beitrag von MrLee » 11.10.2016, 21:02

Moin!

Muß mehr oder weniger zwnagsweise nginx nutzen...hat jemand schonmal damit eine funktionierende CCU.io/CCU/IOBroker installion ReverseProxyed?

Ich schietere leider schon etwas anderes als root weiterzuleiten...

bis denne
Mr.Lee

Richy der Erste
Beiträge: 39
Registriert: 09.01.2014, 23:56

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

Beitrag von Richy der Erste » 05.03.2017, 18:45

Hallo,
ich habe auf meinem PI Raspbian installiert und die hier verlinkte Anleitung befolgt.
Leider ist es so das ich nur bis zu dem Punkt komme: "Nun könnt ihr Testen ob der Raspi über https erreichbar ist".

Die Seite ist auch erreichbar und zeigt folgendes an: "This is the default welcome page used to test the correct..."
Das geht intern so wie extern.

Als nächster Punkt kommt die Benutzer Erstellung.
Leider ändert sich ab dem Punkt gar nichts bei mir.
Also ich werde nicht nach einem Passwort gefragt.
Habe es schon mehrfach ausprobiert.

So sieht meine default-ssl zu diesem Zeitpunkt aus:


<VirtualHost _default_:443>
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

# SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

<Location />
Deny from all
AuthType basic
AuthName "home"
AuthUserFile /etc/apache2/ssl/httpsusers
Satisfy Any
Require valid-user
</Location>

<Directory "/">
AllowOverride None
Require all granted
</Directory>

</VirtualHost>

Ist das soweit korrekt?

Dann habe ich weiter unten in der Anleitung das Beispiel für die SSL eingefügt und 5x die eigene dns eingegeben und 2x die IP meiner CCU2.

Das brachte keine Veränderung.
Was habe ich falsch gemacht?
Mein Ziel ist es meine CCU2 darüber zu erreichen.

Vielen Dank im Voraus!

PaulG4H
Beiträge: 1184
Registriert: 11.08.2011, 10:09

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

Beitrag von PaulG4H » 06.03.2017, 13:47

Hallo,

Welche Version vom Apache setzt du ein?

Hast du die in deiner config gezeigte httpuser datei auch mit benutzern gefüllt? Gib sie mal mit cat aus...
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI

Antworten

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