Ankündigung

Einklappen
Keine Ankündigung bisher.

Erreichbarkeit mit ReverseProxy

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Webserver] Erreichbarkeit mit ReverseProxy

    Hallo zusammen,

    habe am Wochenende einen RaspberryPi mit Apache ausgestattet und jetzt einen ReverseProxy am Laufen. Dank der Anleitung von jonofe aus dem Alexa-Skill-Thread bin ich auch entsprechend weit gekommen, habe ein Grade A-Zertifikat, etc.

    Habe meine Domain mittels AAAA-Record auf den Raspberry (nur ipv6-Adresse) umgeleitet, funktioniert tadellos, selbst über den Portmapper-Service von feste-ip.net

    Jetzt komme ich aber zu meinem Problem: Öffne ich eine Session zu meiner Adminseite bekomme ich folgendes Bild
    Unbenannt.jpg
    Was mache ich falsch, dass ich ein solches Bild erhalte?

    Weitere Frage, das ist aber eher nur aus Interesse: Hat jemand den Zugang zu seinem ReverseProxy mittels Client-Zertifikat schon abgesichert?

    Freue mich auf Antworten!

    #2
    Ja, allerdings NGINX, nicht Apache. Ich habe mittlerweile einen paar Anwendungen per RevProxy neben edomi erreichbar und diese in 3 getrennten Zertifikats-Kreisen.

    Zur Vollständigkeit zum Thema RevProxy auch dieses m.E. noch offene Thema zu WebSocket und PortScan und der Frage, wie man Port 8080 auch per Client Certificates absichern kann.
    Zuletzt geändert von saegefisch; 03.04.2018, 20:05.

    Kommentar


      #3
      Es ist deutlich leichter anhand der Konfiguration den Fehler zu finden, als anhand der Ursache die Fehler in der Konfiguration zu mutmaßen.

      Netzwerksetup?
      Reverse Proxy Konfiguration?

      Kommentar


        #4
        Zitat von jonofe Beitrag anzeigen
        Es ist deutlich leichter anhand der Konfiguration den Fehler zu finden, als anhand der Ursache die Fehler in der Konfiguration zu mutmaßen.

        Netzwerksetup?
        Reverse Proxy Konfiguration?
        Hast wohl Recht!

        Anbei meine Konfigurationsdatei ausm apache:

        Code:
        <IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerName edomi.XXX.de
                ServerAdmin XXX.XXX@googlemail.com
                DocumentRoot /var/www/html
                <Location />
                        <RequireAll>
                                # Erlaubt Zugriff von überall
                                Require all granted
                                # Folgende Zeile erlaubt Zugriff aus dem eigenen Netzwerk
                                # (192.168.0.0/24) und von Amazon-Alexa (54.240.197.0/24)
                                # Require ip 192.168.0.0/24 54.240.197.0/24
                        </RequireAll>
                </Location>
                SSLEngine on
                SSLProxyEngine On
                SSLProxyVerify none
                SSLProxyCheckPeerCN off
                SSLProxyCheckPeerName off
                SSLProxyCheckPeerExpire off
                ProxyPass /edomi http://10.0.20.101/admin/
                ProxyPassReverse /edomi http://10.0.20.101/admin/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLCertificateFile /etc/letsencrypt/live/edomi.XXX.de/fullchain.pem
                SSLCertificateKeyFile /etc/letsencrypt/live/edomi.XXX.de/privkey.pem
                Include /etc/letsencrypt/options-ssl-apache.conf
        </VirtualHost>
        </IfModule>
        Vom Setup her nix besonderes...ipv6-Adresse in der Firewall offen auf den Ports 80 und 443, alles andere ist dicht.

        Kommentar


          #5
          Wie rufst du Edomi von extern auf?
          Im obigen Screenshot ist die URL Leiste komplett leer?

          Kommentar


            #6
            ich habe zwar kein Apache, aber es sieht ja so aus, dass der Durchstich funktioniert, nicht aber für Grafiken/Objekte. Was sagt den der Quelletxt der Seite von Screenshot oben: Ist das eine von edomi generierte Seite? Die Farbe sieht ja zumindest so aus.
            Was sagt den Dein Log - ggf. must Du mal den LogLevel hoch setzen. So habe ich bei NGINX einige Klippen identifizieren und beseitigen können .

            Kommentar


              #7
              ich vermute mal, ohne aktuell nach zu sehen, dass der socket von edomi nicht auf ipv6 lauscht. Hast Du es mal mit ipv4 zum testen versucht?

              Kommentar


                #8
                Der Reverse Proxy verwendet für Edomi IPv4.

                Hast du einen reinen IPv6 Anschluss? Mit gemeinsam genutzter IPv4 Adresse? Hat der Reverse Proxy nur eine IPv6 Adresse?

                Kannste du lokale Seiten auf dem Reverse Proxy aufrufen?

                Kommentar


                  #9
                  Ja, ich habe ausschließlich ipv6-Anschluss! Ich habe zwar auf feste-ip.net einen Portmapper laufen, aber damit habe ich keine Chance ein Zertifikat zu erstellen. Und ja, es ist ein Dualstack-Lite-Anschluss mit gemeinsam genutzter ipv4. Der Reverse Proxy dürfte aber eigentlich doch eine Art Portmapper sein oder sehe ich das falsch?

                  Wie oben geschrieben, erreiche ich den ReverseProxy über meine Domain, welche direkt auf die ipv6-Adresse gemappt ist. Die apache-Seite wird mir normal angezeigt.
                  saegefisch Die Seite, die ich oben zeige, soll eigentlich die Loginseite sein, man sieht schwach im unteren Bereich den edomi-Schriftzug...

                  jonofe
                  Was meinst du mit lokalen Seiten aufrufen?

                  Kommentar


                    #10
                    Eine Seite, die lokal auf dem Reverse Proxy liegt und nicht weitergeleitet wird. Ich denke das funktioniert, denn du sagst die apache Seite wird korrekt angezeigt.

                    Ich vermute fast, dass es an der Komplexität mit Portmapper, IPv6, Forwarding, SSL, Proxy liegt.
                    Hast du erstmal ohne SSL getestet? Grundsätzlich sieht die Config für IPv4 korrekt aus.
                    Du könntest mal das 'admin' bei den Proxy URLs rausnehmen und dann im Browser stattdessen mit http://edomi.domain.de/admin aufrufen.

                    Kommentar


                      #11
                      Das /admin nehme ich testweise nachher mal raus!

                      Bzgl Komplexität: aktuell ist es eigentlich sehr unkomplex! Raspberry hat eine ipv6-Adresse, die Ports an der Firewall für die ipv6-Adresse sind frei und der Apache lauscht auf den Ports. Kein Portmapping dazwischen!

                      Den AAAA-Record nutze ich nur zur Domainumleitung, um nicht die ewig lange ipv6-Adresse zu schreiben ;-)

                      ​​​​​​​Kann es sein, dass ich in der https.conf noch etwas für ipv6 freischalten muss? Oder kann der VirtualHost noch auf ipv6 angepasst werden?

                      Kommentar


                        #12
                        Bin vielleicht doch durch Lesen noch weitergekommen, würde mich mal interessieren, wie ihr das seht...

                        Nach diesem Link:
                        https://www.sixxs.net/forum/?msg=apps-1105653

                        Wäre es nötig/möglich, dass ich den Eintrag

                        Code:
                        <VirtualHost *:443>
                        abändern in

                        Code:
                        <VirtualHost [::]:443>
                        Oder muss ich dafür trotzdem noch in die httpd.conf entsprechende Eintragungen machen? Bspw.:

                        ​​​​​​​
                        Code:
                        Listen 0.0.0.0:443
                        Listen [::]:443
                        ​​​​​​​Ist nur ne Ideensammlung gerade, werde es aber nachher schnellst möglich ausprobieren. Meinungen sind trotzdem willkommen!

                        Kommentar


                          #13
                          So, es funktioniert :-)

                          Nichts von meinen Vorschlägen war es, sondern jonofe brachte die Lösung.

                          Habe nun dies im Proxy stehen:
                          Code:
                          ProxyPass / http://10.0.20.101/
                          ProxyPassReverse / http://10.0.20.101/
                          Mit edomi.XXX.de/admin komme ich nun ohne Probleme auf meinen Adminbereich :-)

                          Kommentar


                            #14
                            Cool. Ich glaube es liegt daran, dass Elemente außerhalb des admin Verzeichnisses von der Admin Seite verwendet werden. Wenn du nur /admin weiterleitest, dann kann der Browser nicht auf die Elemente außerhalb von Admin (z.B. images) zugreifen.

                            Das webroot ist halt /usr/local/edomi/www daher reicht es nicht /usr/local/edomi/www/admin freizugeben.
                            Zuletzt geändert von jonofe; 04.04.2018, 22:34.

                            Kommentar

                            Lädt...
                            X