Zugriff auf WatchGuard Access Portal (RDP Sitzung) via NGINX

Kürzlich erreichte uns eine Erfolgsmeldung: ein Administrator hat erfolgreich _VOR_ dem Access Portal einen NGINX-Reverse-Proxy in Betrieb genommen.

Setup:

  • Internet Anbindung, eine Statische IP
  • Transfer-Netz zur WatchGuard Firewall
  • Portforward der Externen IP, Port 443 => auf einen NGINX-Server im Transfer-Netz (VOR der Firewall)
  • Aufsplitten der DNS-NAMEN im NGINX
    • ein Teil geht auf das WatchGuard Access Portal,
    • andere DNS-Namen werden auf andere Systeme/IPs/Ports umgeleitet

Für den NGINX wird das Modul “ngingx-extras” benötigt.

anbei noch der Config-Ausschnitt aus dem NGINX:

server {
        listen       *:80;
        server_name servername.firma.de;
        if ($host = servername.firma.de) {
                return 301 https://$host$request_uri/;
        }
        return 404; # managed by Certbot
}
 
server {
        server_name servername.firma.de;
        error_log  /var/log/nginx/servername-error.log;
        access_log /var/log/nginx/servername-access.log;
 
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/firma.de/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/firma.de/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
        ssl_verify_client off;
 
        # Set global proxy settings
        proxy_read_timeout      360;
 
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
 
        proxy_pass_header       Date;
        proxy_pass_header       Server;
 
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        Accept-Encoding "";
 
        proxy_set_header Accept-Encoding "";
        more_set_headers -s 401 'WWW-Authenticate: Basic realm="192.168.1.89"';
 
        location / {
        proxy_set_header Host $http_host;
        proxy_set_header X_FORWARDED_PROTO https;
        proxy_ssl_verify              off;
        proxy_pass https://192.168.1.89:4443/;
    }
        location /websocket-tunnel {
        proxy_read_timeout 86400;
        proxy_pass https://192.168.1.89:4443;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

Herzlichen Dank an Hr. Hildebrand für die Informationen zu diesem Artikel.

Rückfragen bitte direkt an d.hildebrand@vogelsbergklinik.de

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>