https proxy přes jiný port než 443

#284

V situaci, kdy potřebujeme zpřístupnit z internetu více služeb z vnitřní sítě, a máme pouze jednu veřejnou IP adresu, může být řešením používat pro https protokol jiné porty než standardní 443.

Uvedený příklad řeší „zabudování“ node-red serveru běžícího na portu 1880 do url https://server-name.shipard.pro:26443/nrx/:

server {
        listen 26443 ssl http2;
        server_name server-name.shipard.pro;
        root /var/www/server-root;
        index index.html index.php;
        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;


        location /nrx {
            proxy_pass http://127.0.0.1:1880;
            rewrite ^/nrx(.*)$ $1 break;
            proxy_http_version  1.1;
            proxy_cache_bypass  $http_upgrade;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Port $server_port;
        }

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