Reverse Proxy hinter CDN Proxy?

Moin, kurz zum Setup:
ich hab einen Homeserver mit Apache als Reverse Proxy laufen, der einige Subdomains auf andere lokale Ports von Docker-Containern umleitet. Somit sind von extern alle Dienste unter Port 443 über die jeweilige Subdomain erreichbar.

Hat unter DSL wunderbar funktioniert. Funktioniert jetzt unter Glasfaser mit IPv6 auch wunderbar. Ich habe jetzt aber natürlich keine öffentliche IPv4 Adresse mehr. Daher habe ich es mit dem CDN Proxy versucht.

Wenn ich in einem reinen v4 Netz bin (wie z.B. auf der Arbeit), kann ich zwar meine Hauptdomain erreichen und sehe das „It works“ von der Apache Standardseite. Aber sobald ich eine Subdomain aufrufe, bekomme ich die 50X-Seite von IPv64 angezeigt und kann die Dienste nicht erreichen.

Ich hab den v4-only Mode eingerichtet.
Der direkte DNS-only Weg über v6 funktioniert problemlos.

Aktiviere ich den Full-Mode, so dass auch v6 über den CDN Proxy läuft, habe ich dort das gleiche Probem. So wie ich es im Log sehe, kommen die Requests auch gar nicht erst bei meinem Apache an. Weder im access- , noch im error.log.

Habe ich was nicht verstanden / übersehen? Oder funktioniert das so nicht?

Klingt zunächst alles valide was du schreibst. Geh mal bitte hin und resetten den Dienst. (Reset Button)
Wenn das nach 3-4 Minuten auch nicht hilfe, dann mach bitte mal einen Server Move und verschiebe den Dienst. Das dauert ein paar Minuten länger, da das Zertifikat ja wieder geholt werden muss.

Also ich habe jetzt mal den Reset durchgeführt. Da ich gerade nicht ins Büro komme, kann ich es mit v4 only nicht testen, habe aber mal den full-mode aktiviert, so dass auch v6 über CDN geht und das scheint zu funktionieren.

Allerdings funktioniert mein HomeAssistant nicht. Bzw. dessen Websockets.

Ich hab in meiner Config dafür folgende Einstellungen im Apache:

RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:8123/$1 [P,L]
ProxyPass /api/websocket ws://localhost:8123/api/websocket
ProxyPassReverse /api/websocket ws://localhost:8123/api/websocket

Ich weiß nicht, in wie weit man das generisch lösen kann, oder ggf. für jeden Dienst einzeln konfigurieren muss?

Es gibt eine Option Websocket zu aktivieren. „Enable Websocket“

Das habe ich aktiviert, funktioniert bei Home Assistant trotzdem nicht.

Dann bin ich jetzt auch erstmal raus ohne deep dive zu tauchen.

Servus zusammen,

ich betreibe auch einen internen Reverse Proxy welcher die einkommenden Anfragen an die jeweiligen Dienste weiterleitet. Beim Home Assistant habe ich das selbe Problem.

Gibt es vielleicht schon eine Lösung?

Danke, schöne Grüße
Fabian

@f4b0 & @Maniac Ich habe jetzt mal eine Veränderung durchgeführt.
Ihr müsst bitte den Websocket Service ausschalten und wieder einschalten. Dann sollte die neue Konfig platziert werden. Probiert euch bitte mal.

Hi Dennis,

vielen Dank für die schnelle Hilfe!!!
Bei mir scheint es nun zu laufen. Ich bekomme nun keine Fehler mehr und die Home Assistant App läuft auch!

Eine Frage hab ich noch, ich sehe bei mir keinen Traffic, der ist immer auf 0,000 bei up und download.
Hast du eine Idee an was das liegt?

Danke!

Du bist dir auch sicher das etwas mehr an traffic drüber geht ?

so jetzt tut sich was, hab mal nen camera Stream gestartet.

Danke!

Es kann auch sein das manchmal meine Script nicht durch läuft. Das Traffic zählen läuft mit etwas weniger prio

Danke für die Info, ich dachte nur ich hab noch was falsch konfiguriert…

Aber es läuft alle nun so weit!

Vielen Dank nochmal!