Reverse-Proxy Nginx lädt keinen Inhalt

Reverse-Proxy Nginx lädt keinen Inhalt

ich versuche, mit Nginx unter Docker einen Reverse-Proxy einzurichten, um über verschiedene locationAnweisungen auf „Backend“-Geräte (NAS-Anmeldeseite, Router-Anmeldeseite) zugreifen zu können proxy_pass, aber ich komme nicht dahinter. Meine aktuelle *.conf (unter Verwendung einer bestimmten apps.conf)

server {
listen 80;
server_name DDNS_NAME LOCAL_DOCKER_HOST;
location / {
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    access_log /var/log/nginx/access_log.txt;
    error_log /var/log/nginx/error_log.txt;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4";
    server_name DDNS_NAME LOCAL_DOCKER_HOST;
    ssl_certificate xxx;
    ssl_certificate_key xxx;
    location / {
        proxy_pass http://LOCAL_DOCKER_HOST:9000/; #portainer
    }
    location /NAS {
        proxy_pass http://NAS_LOCAL; #nas webUI
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

das location /funktioniert zu 95 %, weil es tatsächlich die Portainer-Schnittstelle lädt, aber dann kann ich darin keine Konsolenverbindung herstellen. Es scheint, dass Portainer einen anderen Port/Socket/was auch immer verwendet, wenn es eine Verbindung zur Konsole des Containers herstellt … egal, ich kann ohne überleben.

das verdammte ist location /NAS... das ist eincurl -L DDNS_NAME/NAS -vvvv

> GET /NAS HTTP/1.1
> Host: DDNS_NAME
> User-Agent: curl/7.68.0
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Server: nginx/1.19.5
< Date: Tue, 01 Dec 2020 16:23:02 GMT
< Content-Type: text/html; charset=iso-8859-1
< Content-Length: 212
< Connection: keep-alive
< Location: /r51201,/desktop,/login.html
<
* Ignoring the response-body

* Connected to DDNS_NAME (PUBLIC_IP) port 443 (#1)
> GET /r51201,/desktop,/login.html HTTP/1.1
> Host: DDNS_NAME
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Server: nginx/1.19.5
< Date: Tue, 01 Dec 2020 16:23:02 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 19
< Connection: keep-alive
< Cache-Control: max-age=31536000
< X-Content-Type-Options: nosniff
< X-Xss-Protection: 1; mode=block
<
404 page not found

es erhält die Antwort vom richtigen Gerät (der ursprüngliche Proxy funktioniert also), weil es umgeleitet wird, */r51201,/desktop,/login.htmlaber der Browser (oder curl -L) versucht, Ressourcen von zu laden DDNS_NAME/r51201,/desktop,/login.html, und natürlich erhalte ich eine 404-Meldung. Ich kämpfe seit Wochen damit, probiere unendlich viele Kombinationen von Proxy_Set_Header aus, aber vielleicht finde ich nicht die richtige.

natürlich habe ich die Ausgänge so eingestellt, dass persönliche Informationen verborgen bleiben, und ich möchte mehrere Ausgänge locationerreichen, aber alle machen das Gleiche, also habe ich nur einen gemeldet

Dank im Voraus

verwandte Informationen