OBS/Kostenpflichtige Module/RESTServer/Server-Profile: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Kostenpflichtige Module}} =Server-Profile= Ein '''Server''' im REST-Modul ist ein eigenstaendiges TLS-Profil mit einer eigenen HTTP-Server-Instanz. In OBS koennen beliebig viele Server-Profile parallel betrieben werden, jedes mit eigenem Modus, eigenen Zertifikaten und eigenen Bindungen. Typische Einsatzfaelle fuer mehrere Profile: * Ein '''Public-Profil''' mit Standard-TLS auf Port 443 fuer externe Konsumenten. * Ein '''Internal-mTLS-Profil''' auf…“)
Keine Bearbeitungszusammenfassung
 
Zeile 3: Zeile 3:
=Server-Profile=
=Server-Profile=


Ein '''Server''' im REST-Modul ist ein eigenstaendiges TLS-Profil mit einer eigenen HTTP-Server-Instanz. In OBS koennen beliebig viele Server-Profile parallel betrieben werden, jedes mit eigenem Modus, eigenen Zertifikaten und eigenen Bindungen.
Ein '''Server''' im REST-Modul ist ein eigenständiges TLS-Profil mit einer eigenen HTTP-Server-Instanz. In OBS können beliebig viele Server-Profile parallel betrieben werden, jedes mit eigenem Modus, eigenen Zertifikaten und eigenen Bindungen.


Typische Einsatzfaelle fuer mehrere Profile:
Typische Einsatzfälle für mehrere Profile:


* Ein '''Public-Profil''' mit Standard-TLS auf Port 443 fuer externe Konsumenten.
* Ein '''Public-Profil''' mit Standard-TLS auf Port 443 für externe Konsumenten.
* Ein '''Internal-mTLS-Profil''' auf einem internen Port fuer Microservices, die zwingend ein Client-Zertifikat vorlegen muessen.
* Ein '''Internal-mTLS-Profil''' auf einem internen Port für Microservices, die zwingend ein Client-Zertifikat vorlegen müssen.
* Ein '''Debug-Profil''' mit Plain-HTTP auf 127.0.0.1, ausschliesslich fuer lokale Tests.
* Ein '''Debug-Profil''' mit Plain-HTTP auf 127.0.0.1, ausschliesslich für lokale Tests.


==Aufruf==
==Aufruf==
Zeile 20: Zeile 20:
! Feld                !! Beschreibung
! Feld                !! Beschreibung
|-
|-
| Nr                  || Eindeutige Nummer 1-99, einmalig vergeben, kann spaeter nicht mehr geaendert werden
| Nr                  || Eindeutige Nummer 1-99, einmalig vergeben, kann später nicht mehr geändert werden
|-
|-
| Name                || Sprechender Name, eindeutig - erscheint in Protokoll, Statistik und Endpunkt-Zuordnung
| Name                || Sprechender Name, eindeutig - erscheint in Protokoll, Statistik und Endpunkt-Zuordnung
Zeile 28: Zeile 28:
| Info                || Freitext zur Dokumentation (interner Kommentar, wird nicht ausgewertet)
| Info                || Freitext zur Dokumentation (interner Kommentar, wird nicht ausgewertet)
|-
|-
| Kein SSL            || Plain-HTTP-Modus, ausschliesslich fuer Debug. TLS-Felder werden ignoriert
| Kein SSL            || Plain-HTTP-Modus, ausschliesslich für Debug. TLS-Felder werden ignoriert
|-
|-
| mTLS                || Mutual TLS: jeder Client muss ein gueltiges Client-Zertifikat vorlegen
| mTLS                || Mutual TLS: jeder Client muss ein gültiges Client-Zertifikat vorlegen
|-
|-
| Cert                || PEM-Inhalt des Server-Zertifikats (inkl. ggf. Zwischen-CA-Kette)
| Cert                || PEM-Inhalt des Server-Zertifikats (inkl. ggf. Zwischen-CA-Kette)
|-
|-
| Key                || PEM-Inhalt des privaten Schluessels
| Key                || PEM-Inhalt des privaten Schlüssels
|-
|-
| Root-Cert          || PEM-Inhalt des CA-Root-Zertifikats (Pflicht bei Standard-TLS, dort fuer Chain-Validierung, sowie bei mTLS, dort zusaetzlich fuer Client-Cert-Verifikation)
| Root-Cert          || PEM-Inhalt des CA-Root-Zertifikats (Pflicht bei Standard-TLS, dort für Chain-Validierung, sowie bei mTLS, dort zusätzlich für Client-Cert-Verifikation)
|}
|}


Die Inhalte der Zertifikate werden direkt in OBS als Text gespeichert. Zur Laufzeit schreibt der Server die PEM-Inhalte fuer den Bruchteil einer Sekunde in ein Temp-Verzeichnis, damit OpenSSL sie beim Start lesen kann; danach werden die Temp-Dateien sofort wieder geloescht.
Die Inhalte der Zertifikate werden direkt in OBS als Text gespeichert. Zur Laufzeit schreibt der Server die PEM-Inhalte für den Bruchteil einer Sekunde in ein Temp-Verzeichnis, damit OpenSSL sie beim Start lesen kann; danach werden die Temp-Dateien sofort wieder gelöscht.


==Modi==
==Modi==
Zeile 46: Zeile 46:
! Modus              !! Voraussetzungen                      !! Anwendung
! Modus              !! Voraussetzungen                      !! Anwendung
|-
|-
| '''Standard-TLS'''  || Cert + Key + Root-Cert hinterlegt    || Empfohlener Default fuer alle Server, die ueber das oeffentliche Netz erreichbar sind
| '''Standard-TLS'''  || Cert + Key + Root-Cert hinterlegt    || Empfohlener Default für alle Server, die über das öffentliche Netz erreichbar sind
|-
|-
| '''mTLS'''          || Cert + Key + Root-Cert (CA)          || Maschine-zu-Maschine-Kommunikation, in der jeder Client mit Cert validiert wird
| '''mTLS'''          || Cert + Key + Root-Cert (CA)          || Maschine-zu-Maschine-Kommunikation, in der jeder Client mit Cert validiert wird
Zeile 53: Zeile 53:
|}
|}


{{Hinweis|Bei Standard-TLS und mTLS faehrt der Server ohne Cert/Key gar nicht erst hoch. Bei Standard-TLS ohne Root-Cert wird die Anlage abgelehnt - die Chain-Validierung benoetigt das CA-Root. Plain-HTTP umgeht TLS komplett und ist nicht fuer Produktivumgebungen geeignet.}}
{{Hinweis|Bei Standard-TLS und mTLS fährt der Server ohne Cert/Key gar nicht erst hoch. Bei Standard-TLS ohne Root-Cert wird die Anlage abgelehnt - die Chain-Validierung benötigt das CA-Root. Plain-HTTP umgeht TLS komplett und ist nicht für Produktivumgebungen geeignet.}}


==Validierung beim Speichern==
==Validierung beim Speichern==


Beim Speichern wird geprueft:
Beim Speichern wird geprüft:


* Nr und Name muessen vergeben sein.
* Nr und Name müssen vergeben sein.
* Nr muss eindeutig sein.
* Nr muss eindeutig sein.
* Name muss eindeutig sein.
* Name muss eindeutig sein.
* Bei nicht aktiviertem ''Kein SSL'' muessen Cert und Key vorhanden sein.
* Bei nicht aktiviertem ''Kein SSL'' müssen Cert und Key vorhanden sein.
* Bei nicht aktiviertem ''mTLS'' (= Standard-TLS) muss Root-Cert vorhanden sein.
* Bei nicht aktiviertem ''mTLS'' (= Standard-TLS) muss Root-Cert vorhanden sein.


==Bindungen==
==Bindungen==


Eine Bindung ist die Kombination aus IP-Adresse und Port, auf der ein Server-Profil lauscht. Pro Server-Profil koennen mehrere Bindungen existieren, z.B. um die gleiche TLS-Konfiguration parallel auf 443 und 8443 anzubieten.
Eine Bindung ist die Kombination aus IP-Adresse und Port, auf der ein Server-Profil lauscht. Pro Server-Profil können mehrere Bindungen existieren, z.B. um die gleiche TLS-Konfiguration parallel auf 443 und 8443 anzubieten.


===Aufruf===
===Aufruf===


In der Server-Liste den gewuenschten Server markieren und '''F6''' druecken. Es oeffnet sich die zum Server gehoerende Bindungs-Liste.
In der Server-Liste den gewünschten Server markieren und '''F6''' drücken. Es öffnet sich die zum Server gehörende Bindungs-Liste.


===Felder===
===Felder===
Zeile 80: Zeile 80:
| Host    || IP-Adresse oder Hostname, auf dem gelauscht wird. ''0.0.0.0'' = alle IPv4-Adressen; ''127.0.0.1'' = nur lokal; explizite IPs binden gezielt auf eine Netzwerkkarte
| Host    || IP-Adresse oder Hostname, auf dem gelauscht wird. ''0.0.0.0'' = alle IPv4-Adressen; ''127.0.0.1'' = nur lokal; explizite IPs binden gezielt auf eine Netzwerkkarte
|-
|-
| Port    || TCP-Port (1-65535). 443/8443 fuer HTTPS, frei waehlbar fuer Debug-Profile
| Port    || TCP-Port (1-65535). 443/8443 für HTTPS, frei wählbar für Debug-Profile
|-
|-
| Aktiv  || Bindung wird beim Server-Start geladen
| Aktiv  || Bindung wird beim Server-Start geladen
Zeile 89: Zeile 89:
===Wirksamkeit===
===Wirksamkeit===


Bindungen werden ausschliesslich beim Start des REST-Dienstes geladen. Aenderungen werden daher erst nach einem Neustart aktiv. Bis dahin laufen die alten Bindungen weiter.
Bindungen werden ausschliesslich beim Start des REST-Dienstes geladen. Änderungen werden daher erst nach einem Neustart aktiv. Bis dahin laufen die alten Bindungen weiter.


==Listen-Funktionen==
==Listen-Funktionen==
Zeile 97: Zeile 97:
* '''Einfg''' - neues Server-Profil
* '''Einfg''' - neues Server-Profil
* '''Return''' - vorhandenes Profil bearbeiten
* '''Return''' - vorhandenes Profil bearbeiten
* '''F4''' - Sortierung waehlen
* '''F4''' - Sortierung wählen
* '''F6''' - Bindungs-Liste des markierten Servers
* '''F6''' - Bindungs-Liste des markierten Servers

Aktuelle Version vom 19. Mai 2026, 07:08 Uhr

Kostenpflichtige Module

Internet-Shop
UPS
IMS Professional
SMS
Mehrlager-Verwaltung
Mehrsprachen Modul
Multilanguage Modul
EVA Marketing Tool
Termin-Projekte
Edifact-Schnittstelle
Backup Überwachung Email
OBS Geo Daten
DeliSprint / DPD
Filialen
Cashback
Moebelschnittstelle
Dokumenten Manager
DocuWare-Schnittstelle
OFML-Kalkulation
Versicherungsschaden
Gutschriftsanzeigen
Kameraverwaltung
DataInOut
OpenMasterData / IDS
Sammelpositionen


Server-Profile

Ein Server im REST-Modul ist ein eigenständiges TLS-Profil mit einer eigenen HTTP-Server-Instanz. In OBS können beliebig viele Server-Profile parallel betrieben werden, jedes mit eigenem Modus, eigenen Zertifikaten und eigenen Bindungen.

Typische Einsatzfälle für mehrere Profile:

  • Ein Public-Profil mit Standard-TLS auf Port 443 für externe Konsumenten.
  • Ein Internal-mTLS-Profil auf einem internen Port für Microservices, die zwingend ein Client-Zertifikat vorlegen müssen.
  • Ein Debug-Profil mit Plain-HTTP auf 127.0.0.1, ausschliesslich für lokale Tests.

Aufruf

Stammdaten -> Z Weitere Stammdaten -> REST-Server -> Server

Felder des Server-Profils

Feld Beschreibung
Nr Eindeutige Nummer 1-99, einmalig vergeben, kann später nicht mehr geändert werden
Name Sprechender Name, eindeutig - erscheint in Protokoll, Statistik und Endpunkt-Zuordnung
Aktiv Profil wird beim Start des REST-Dienstes geladen. Inaktive Profile starten nicht
Info Freitext zur Dokumentation (interner Kommentar, wird nicht ausgewertet)
Kein SSL Plain-HTTP-Modus, ausschliesslich für Debug. TLS-Felder werden ignoriert
mTLS Mutual TLS: jeder Client muss ein gültiges Client-Zertifikat vorlegen
Cert PEM-Inhalt des Server-Zertifikats (inkl. ggf. Zwischen-CA-Kette)
Key PEM-Inhalt des privaten Schlüssels
Root-Cert PEM-Inhalt des CA-Root-Zertifikats (Pflicht bei Standard-TLS, dort für Chain-Validierung, sowie bei mTLS, dort zusätzlich für Client-Cert-Verifikation)

Die Inhalte der Zertifikate werden direkt in OBS als Text gespeichert. Zur Laufzeit schreibt der Server die PEM-Inhalte für den Bruchteil einer Sekunde in ein Temp-Verzeichnis, damit OpenSSL sie beim Start lesen kann; danach werden die Temp-Dateien sofort wieder gelöscht.

Modi

Modus Voraussetzungen Anwendung
Standard-TLS Cert + Key + Root-Cert hinterlegt Empfohlener Default für alle Server, die über das öffentliche Netz erreichbar sind
mTLS Cert + Key + Root-Cert (CA) Maschine-zu-Maschine-Kommunikation, in der jeder Client mit Cert validiert wird
Plain-HTTP Haken Kein SSL Ausschliesslich lokale Tests. Erkennt TLS-Versuche auf dem Plain-Port und trennt sie direkt
HINWEIS: Bei Standard-TLS und mTLS fährt der Server ohne Cert/Key gar nicht erst hoch. Bei Standard-TLS ohne Root-Cert wird die Anlage abgelehnt - die Chain-Validierung benötigt das CA-Root. Plain-HTTP umgeht TLS komplett und ist nicht für Produktivumgebungen geeignet.

Validierung beim Speichern

Beim Speichern wird geprüft:

  • Nr und Name müssen vergeben sein.
  • Nr muss eindeutig sein.
  • Name muss eindeutig sein.
  • Bei nicht aktiviertem Kein SSL müssen Cert und Key vorhanden sein.
  • Bei nicht aktiviertem mTLS (= Standard-TLS) muss Root-Cert vorhanden sein.

Bindungen

Eine Bindung ist die Kombination aus IP-Adresse und Port, auf der ein Server-Profil lauscht. Pro Server-Profil können mehrere Bindungen existieren, z.B. um die gleiche TLS-Konfiguration parallel auf 443 und 8443 anzubieten.

Aufruf

In der Server-Liste den gewünschten Server markieren und F6 drücken. Es öffnet sich die zum Server gehörende Bindungs-Liste.

Felder

Feld Beschreibung
Host IP-Adresse oder Hostname, auf dem gelauscht wird. 0.0.0.0 = alle IPv4-Adressen; 127.0.0.1 = nur lokal; explizite IPs binden gezielt auf eine Netzwerkkarte
Port TCP-Port (1-65535). 443/8443 für HTTPS, frei wählbar für Debug-Profile
Aktiv Bindung wird beim Server-Start geladen
Standard Markiert die Standard-Bindung des Servers. Pro Server-Profil ist nur eine Standard-Bindung erlaubt

Wirksamkeit

Bindungen werden ausschliesslich beim Start des REST-Dienstes geladen. Änderungen werden daher erst nach einem Neustart aktiv. Bis dahin laufen die alten Bindungen weiter.

Listen-Funktionen

In der Server-Liste:

  • Einfg - neues Server-Profil
  • Return - vorhandenes Profil bearbeiten
  • F4 - Sortierung wählen
  • F6 - Bindungs-Liste des markierten Servers