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.10
wie 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.