ReverseProxy / Secure-Header

Hallo,

ich habe eine 9008 und 9408 in Betrieb. Bei der 9008 konnte ich schon immer via Apache Proxy den MJPG Stream mit einer beliebigen Domain versehen.

Proxy 9008:

ProxyPass / http://IP-Address:Port/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=Benutzer&-pwd=Kennwort
ProxyPassReverse / http://IP-Address:Port/cgi-bin/hi3510/mjpegstream.cgi?-chn=11&-usr=Benutzer&-pwd=Kennwort

Bei der 9408 funktioniert das leider nicht. Es wird immer nach Benutzername und Passwort gefragt. Gebe ich beides im Browser ein, kommt es zum Bad Request 400. Benutzername und Passwort sind auch in der Url im Reverse Proxy hinterlegt, scheinbar ohne Funktion. Rufe ich die im Proxy hinterlegte Url direkt im Browser auf, wird mir der MJPEG Stream angezeigt.

9408 Proxy:

ProxyPass / http://Benutzer:Kennwort@192.168.x.x/livestream/13?action=play&media=mjpeg&user=Benutzer&pwd=Kennwort
ProxyPassReverse http://Benutzer:Kennwort@192.168.x.x/livestream/13?action=play&media=mjpeg&user=Benutzer&pwd=Kennwort

Hängt das evtl. mit den Secure-Headern aus dem letzten Patch (414) zusammen? Oder ist es generell nicht mehr möglich den Stream über via Proxy zu nutzen?

Wäre es generell möglich eine Option zum deaktivieren der Secure-Header zu integrieren?

Beste Grüße,
Frank

Ich habe einen Reverseproxy in der Oberfläche meine Synoloy erstellt. Daher kann ich es nicht sagen wie es exakt aussehen muss:
https://meine_domain.de verweist direkt auf https://192.x.x.x und HSTS ist aktiviert.
Über https://meine_domain.de/livestream/13?action=play&media=mjpeg kann ich nach Eingabe von Nutzer/PW problemlos den Stream öffnen.

Das Abgreifen des Streams sollte keine Probleme machen. Ich hatte es hier nochmal anhand des WS Videostream probiert:

Es wäre nicht mehr möglich auf die WebUI hinter einem Proxy zuzugreifen. Die Ressourcen, die die Kamera dort nutzt, dürfen nur aus den internen Dateien bzw. einer INSTAR Domäne stammen (Hilfeseiten). Aber wie gesagt - der Livestream ist davon nicht betroffen.

Ich hatte auch noch mal geschaut - der MJPEG Stream funktioniert genauso:

# Secure MJPEG Proxy 

upstream mjpeghost {
    server 192.168.2.120:80;
}

server {
    listen 8888 ssl http2;

    # IP of your proxy server or localhost
    server_name 127.0.0.1;

    # your SSL configuration
    # ssl_certificate /opt/letsencrypt/live/my.domain.com/fullchain.pem;
    # ssl_certificate_key /opt/letsencrypt/live/my.domain.com/privkey.pem;
    ssl_certificate /etc/nginx/certs/nginx-selfsigned.crt; # Replace with the 2 lines above when using CA Cert
    ssl_certificate_key /etc/nginx/certs/nginx-selfsigned.key;

    location    / {
        proxy_pass http://mjpeghost/livestream/13?action=play&media=mjpeg&user=admin&pwd=instar;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Request-Start $msec;
    }
}

Die Beispiele (mit und ohne TLS) sind dem Repository hinzugefügt.

Dieses Thema wurde automatisch 2 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.