ubuntuusers.de

Nginx Reverse Proxy (proxy_pass)

Status: Gelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

sharbich

Anmeldungsdatum:
25. September 2012

Beiträge: 95

Hallo Ihr Lieben, ich habe im WLAN eine Yamaha Musiccast Box. Über die IP Adresse 192.168.30.173 Port 80 kann ich diese ansprechen. Ich möchte den Zugriff auf https umstellen. Konfigurationen kann ich an der Webseite nicht vornehmen. Jetzt war meine Idee ein Reverse Proxy über meinen Nginx Webserver einzurichten. Mein Webserver läuft im 192.168.20.0/24 Netzwerk. Hier habe ich die IP Adresse 192.168.20.173 (FQDN:mcbme01.intern.examle.com) für den Reverse Proxy wie folgt eingerichtet.

root@dsme01:~# cat /etc/nginx/sites-available/mc.conf 
server {
    # Update this line to be your domain
    server_name mcbme01.intern.example.com;
    # These shouldn't need to be changed
    listen mcbme01.intern.example.com:80;
    return 301 https://$host$request_uri;
}
server {
    server_name mcbme01.intern.example.com;
    listen mcbme01.intern.example.com:443 ssl; # managed by Harbich
    ssl_certificate /etc/ssl/certs/mcbme01.intern.example.com.crt; # managed by Harbich
    ssl_certificate_key /etc/ssl/private/mcbme01.intern.example.com.key; # managed by Harbich
    ssl_dhparam /etc/ssl/certs/dhparams.pem; # managed by Harbich
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    location / {
        proxy_pass http://192.168.30.173;
    }
}

Leider funktioniert das nicht so wie ich mir das vorstelle. Irgendetwas scheint mit dem redirect nicht zu funktionieren.

dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [S], cksum 0x3a2a (correct), seq 219914398, win 64240, options [mss 1460,sackOK,TS val 3180282379 ecr 0,nop,wscale 7], length 0
    192.168.30.173.80 > dsme01.intern.example.com.45358: Flags [S.], cksum 0xe0cf (correct), seq 2651179133, ack 219914399, win 14480, options [mss 1460,sackOK,TS val 183347774 ecr 3180282379,nop,wscale 2], length 0
    dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [.], cksum 0x4627 (correct), seq 1, ack 1, win 502, options [nop,nop,TS val 3180282389 ecr 183347774], length 0
    dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [P.], cksum 0x903b (correct), seq 1:875, ack 1, win 502, options [nop,nop,TS val 3180282389 ecr 183347774], length 874: HTTP, length: 874
    192.168.30.173.80 > dsme01.intern.example.com.45358: Flags [.], cksum 0x34ce (correct), seq 1, ack 875, win 4057, options [nop,nop,TS val 183347786 ecr 3180282389], length 0
    192.168.30.173.80 > dsme01.intern.example.com.45358: Flags [P.], cksum 0x8b95 (correct), seq 1:145, ack 875, win 4057, options [nop,nop,TS val 183347786 ecr 3180282389], length 144: HTTP, length: 144
    dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [.], cksum 0x41b7 (correct), seq 875, ack 145, win 501, options [nop,nop,TS val 3180282496 ecr 183347786], length 0
    dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [F.], cksum 0x41b6 (correct), seq 875, ack 145, win 501, options [nop,nop,TS val 3180282496 ecr 183347786], length 0
    192.168.30.173.80 > dsme01.intern.example.com.45358: Flags [F.], cksum 0x33cf (correct), seq 145, ack 876, win 4057, options [nop,nop,TS val 183347788 ecr 3180282496], length 0
    dsme01.intern.example.com.45358 > 192.168.30.173.80: Flags [.], cksum 0x4195 (correct), seq 876, ack 146, win 501, options [nop,nop,TS val 3180282526 ecr 183347788], length 0

Ich sehe im tcpdump Verbindungen zur IP der Yamaha Musiccast Box über Port 80 aber im Browser sehe ich folgende Meldung:

Die Website ist nicht erreichbar
Die Webseite unter https://mcbme01.intern.example.com/ ist eventuell vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.
ERR_INVALID_RESPONSE

Der FQDN: dsme01.intern.example.com hat die IP Adresse 192.168.20.20.

Stimmt etwas nicht mit meiner mc.conf vom Nginx Server? Über eine Hilfestellung würde ich mich sehr freuen.

Gruß von Stefan Harbich

sharbich

(Themenstarter)

Anmeldungsdatum:
25. September 2012

Beiträge: 95

Hier die Lösung

server {
    # Update this line to be your domain
    server_name mcbme01.intern.example.com;
    # These shouldn't need to be changed
    listen mcbme01.intern.example.com:80;
    return 301 https://$host$request_uri;
}
server {
    server_name mcbme01.intern.example.com;
    listen mcbme01.intern.example.com:443 ssl; # managed by Harbich
    ssl_certificate /etc/ssl/certs/mcbme01.intern.example.com.crt; # managed by Harbich
    ssl_certificate_key /etc/ssl/private/mcbme01.intern.example.com.key; # managed by Harbich
    ssl_dhparam /etc/ssl/certs/dhparams.pem; # managed by Harbich
    location / {
        proxy_pass http://192.168.30.173:80;
        proxy_http_version 1.1;
        include /etc/nginx/proxy_params;
    }
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
}

Der Eintrag "proxy_http_version 1.1;" hat die Lösung gebracht.

Antworten |