https proxy 1:1 - zpřístupnění kamer

#285

Uvedený příklad ukazuje nastavení nginx proxy tak, že proxy funguje přímo na kořenovém url (tj. https://server-name-cam.shipard.pro).

Jedná se o situaci, kdy máme jednu veřejnou IP adresu, port 443 je přesměrovaný z vnějšku na server ve vnitřní síti, a kamery běží na jiném serveru ve vnitřní síti.

Jak samotný cíl proxy, tak i server mají stejné DNS jméno (server server-name-cam.shipard.pro). Aby ukázka fungovala, je potřeba správně nastavit DNS:

  1. Externí DNS (internet) bude mít pro server-name-cam.shipard.pro nastavenu veřejnou IP adresu routeru,
  2. DNS ve vnitřní síti bude mít pro server-name-cam.shipard.pro nastavenu adresu z rozsahu vnitřní sítě (10.6.xxx.yyy).

Ve výsledku pak uživatelé z vnitřní sítě půjdou přímo na kamerový server, kdežto uživatelé z internetu využijí proxy.

upstream cams {
        server server-name-cam.shipard.pro:443;
}

server {
        listen 443 ssl http2;
        server_name server-name-cam.shipard.pro;

        ssl_certificate /etc/ssl/crt/shipard.pro/fullchain.pem;
        ssl_certificate_key /etc/ssl/crt/shipard.pro/privkey.pem;
        ssl_dhparam /etc/ssl/crt/dhparam.pem;

        ssl_stapling on;
        ssl_stapling_verify on;

        include /usr/lib/shipard-node/etc/nginx/shn-https.conf;

        location / {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_pass https://cams/;
    }
}