Synology hinter Reverse Proxy und WebSocket

der Dienst „Photos“ von der Synology baut eine Websocket Verbindung zum Backend auf, um diese über den Reverse Proxy durchzureichen geht es in dieser Anleitung. Die Synology direkt mit dem Internet zu verbinden ist einfach keine gute Idee.

Der Testaufbau wurde durchgeführt mit:

  • Apache stable,now 2.4.38-3
  • Synology DSM 7.0-41890
  • Synology Photos 1.0.0-0186

Apache Reverse Proxy
für die Nutzung von Photos muss nicht zwingend WebSocket genutzt werden, es geht auch mit ProxyPass und ProxyPassReverse, es geht dann nur kein Push von Synology Photos an den Client.
Ich habe nur den Ausschnitt vom WebSocket in der Anleitung und es ist die verschlüsselte Verbindung.
ws = unverschlüsselt
wss = verschlüsselt

Module die geladen sein müssen
/usr/sbin/a2enmod proxy_wstunnel
/usr/sbin/a2enmod proxy
/usr/sbin/a2enmod proxy_http

Synology Photos WebSocket Reverse Proxy

Wenn kein WebSocket geöffnet ist kann der Fehler mit z.B. Firefox im Web-Entwickler angezeigt werden.

Einstellungen Reverse Proxy

ProxyPass /bilder https://IP-Adresse-Synology:Port/photo
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "wss://IP-Adresse-Synology:Port/$1" [P,L]

Apache restart

systemctl restart apache2

Die Verbindung sollte jetzt mit WebSocket aufgebaut werden.

Geräte IP-Adresse übergeben

mit dieser Einstellung wird in der Synology die IP-Adresse vom Reverse Proxy angezeigt, wenn die IP-Adresse vom Gerät an die Synology übergeben werden soll, muss die Einstellung noch erweitert werden.

Modul das geladen werden muss

/usr/sbin/a2enmod remoteip

und die Konfiguration muss erweitert werden

RemoteIPHeader X-Forwarded-For

Apache restart

systemctl restart apache2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert