App-Version mit Reverse Proxy erstellen - Manual - Industrial Edge - Industrial Edge - Industrial Edge - Documentation of the Industrial Edge Platform - IEM - Hub - Industrial - Device - IED - Edge - IEH

Industrial Edge Platform Operation - APIs & Referenzen

Product
Industrial Edge
Product Version
v25.04
Edition
04/2025
Language
de-DE

Nach dem Erstellen der Anwendung mit iectl publisher standalone-app create

Um eine App-Version zu erstellen, können Sie den NGINX-Reverseproxy verwenden, um Datenverkehr an Ihre Anwendung umzuleiten. Unten wird yaml als Beispiel verwendet.

version: "2.4" 
services: 
  nginx:
    image: nginx:alpine 
    restart: always 
    mem_limit: 200m

Verwenden Sie den folgenden Befehl, um die Anwendungsversion einzurichten:

iectl publisher standalone-app version create \
    --appname "Example App" \
    --yamlpath "/path/to/folder/with/docker-compose.yaml" \ 
    --versionnumber "1.0.0" \
    --nginxjson '{"nginx":[{"name":"nginx","protocol":"HTTP","port":"80","headers":"{\"proxy_http_version\":\"1.1\",\"proxy_set_header Upgrade\":\"$http_upgrade\",\"proxy_set_header Connection\":\"\\\"upgrade\\\"\",\"proxy_set_header Host\":\"$host\",\"proxy_set_header X-Real_IP\":\"$remote_addr\",\"proxy_set_header X-Forwarded-For\":\"$proxy_add_x_forwarded_for\",\"proxy_set_header X-Forwarded-Protocol\":\"$scheme\",\"proxy_set_header X-Forwarded-Host\":\"$host\",\"proxy_set_header X-Forwarded-Port\":\"$server_port\",\"proxy_set_header X-Forwarded-Uri\": \"$request_uri\"}","rewriteTarget":"","subPath":"","isSecureRedirection":true}]}' \ # nginxjson is json map of docker compose service names and arrays of reverse proxy settings.
    --redirectsection "nginx" \ # servicename
    --redirecttype "FromBoxReverseProxy" \ # type: redirect via reverse proxy
    --redirecturl "ui/" \   #  URL path matching pattern: name of location (name + rewriteTarget) with a trailing slash and no leading slash
    --restredirecturl "" \ # subpath to be added

Wenn die App auf einem Edge-Gerät installiert ist, sehen die NGINX-Einstellungen ähnlich wie im folgenden Beispiel aus, vorausgesetzt, die Dienst-IP im Proxy-Umleitungsnetzwerk lautet 10.10.10.10wie folgt:

location = /ui {
    rewrite /ui/(.*) /$1 break;
    rewrite (^/ui)$ $1/ permanent;
} 
location ~* ^/ui\/ {
    auth_request /auth;
    rewrite /ui/(.*) /$1 break;
    rewrite /ui/ / break;
    rewrite (^/ui)$ $1/ permanent;
    proxy_pass http://10.10.10.10:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Uri: $request_uri;
}

BEMERKEN

Diese Konfiguration enthält bereits empfohlene Direktiven zur Unterstützung des Zugriffs auf Ihre Anwendung mit Remotezugriff über IEM. Bitte überlegen Sie rewriteTarget sorgfältig und redirecturl wie restredirecturl im Beispiel gezeigt.