HTTP-Server - Voraussetzungen und Installation

Voraussetzungen

  • WinCC OA-Basisinstallation
  • Eine HTTP-Server Lizenz ist vorhanden (ist für beide Komponenten erforderlich).
  • Ein HTTP-Browser (z.B. Internet Explorer oder Firefox).
  • Netzwerk mit TCP/IP Kommunikation.
  • Für HTTPS (SSL)-Verbindungen werden Zertifikate benötigt - erstellen Sie diese über die Zertifizierungsstelle (siehe HTTPS (SSL-Verbindungen) oder erstellen Sie die Zertifikate selbst (siehe Beispiel zur Erstellung von selbst signierten (self-signed) Zertifikaten").
  • Auch Windows-Zertifikatspeicherzertifikate können für den HTTP-Server verwendet werden. Erstellen Sie CNG-Zertifikate mit OpenSSL unter Verwendung des Algorithmus prime256v1. Siehe Kapitel CNG Provider - Zertifikate erstellen.

    Im Kapitel CNG Provider - Zertifikate erstellen beachten Sie die Schritte unter Das Root-Zertifikat erstellen und Das Host-Zertifikat erstellen. Um Windows-Certificate-Store-Zertifikate verwenden zu können, müssen Sie die Zertifikate in das Windows-Certificate-Store-Format konvertieren. Wie Sie dabei vorgehen, erfahren Sie in Kapitel Multiplexing Proxy-Zertifikate - Erstellung, Konversion und Import.

    Fügen Sie nach der Konvertierung der Zertifikate die erforderlichen Zertifikat-Config-Einträge zu Ihrer Projekt-Config-Datei hinzu - siehe Kapitel HTTP-Server

Hinweise zur Verwendung des HTTP-Servers

VORSICHT:
Nur der Benutzer, der den CTRL HTTP-Server betreibt, darf Leserechte auf die Datei privkey.pem unter Linux haben.
Einschränkung:
Der HTTP-Server kann nun den Inhalt von mehrteiligen Nachrichten mit "Content-Transfer-Encoding: base64" dekodieren, aber er kann derzeit keine "quoted-printable" kodierten Teile dekodieren, die in RFC 2045 erlaubt sind.
VORSICHT:
Um den (Default-)Port 80 (bzw. 443 für HTTPS) unter Linux verwenden zu können, muss der CTRL-Manager (HTTP Server) mit dem Benutzer root gestartet werden (andere Benutzer dürfen keinen Port kleiner oder gleich 1024 öffnen). Geben Sie eine Portnummer größer als 1024 im Eintrag httpServerPort in der Config-Datei config.http an, wenn ein anderer Port verwendet werden soll.
  • Ein Root-Zertifikate (CA) muss in den Browser importiert werden, sodass das Zertifikat zu den Vertrauenswürdigen Zertifizierungsstellen (Trusted Certification Authorities) hinzugefügt wird und nicht vom Browser blockiert wird. Siehe Kapitel Root-Zertifikat und Vertrauenswürdige Zertifizierungsstelle für Browser
  • Die Config Einträge ip_allow und ip_deny sollten verwendet werden, um eine Liste an erlaubten oder nicht erlaubten IP Adressen für den Serverzugriff zu definieren!
  • Bitte beachten Sie, dass standardmäßig nur der HTTPS-Port für den HTTP-Server verwendet werden kann. Um auch den unverschlüsselten HTTP-Port verwenden zu können, muss der Config-Eintrag [httpServer] strictTransportSecurityMaxAge auf 0 gesetzt werden.
  • Der HTTP-Server verhält sich unterschiedlich bei HTTP/1.0 und HTTP/1.1 Clients in Bezug auf das Verbindungsmanagement: Ein 1.0 Client erwartet eine Verbindung die geschlossen wird, auch wenn dies anders angegeben. Ein 1.1 Client erwartet eine Verbindung, die geöffnet bleibt, sofern nicht anders angegeben.
  • DNS-Server-Antwort

    Eine langsame Antwort des DNS-Servers kann zu Verzögerungen und einem nicht reagierenden WebServer führen. Wenn die DNS-Antwort langsam ist, wird eine Warnung angezeigt, die darauf hinweist, dass die DNS-Antwort ungewöhnlich langsam ist und dass Sie die Netzwerkeinstellungen überprüfen sollten.

    Unter Linux können Sie die maximale DNS-Übersetzungswartezeit mit den folgenden Parametern verkürzen:

    options timeout:1
    options attempts:1

    in der Datei /etc/resolv.conf.

    Weitere Informationen finden Sie in der man page der resolv.conf-Datei.

  • Beachten Sie, dass das Desktop UI und das HTTP-Serverpaket nicht zur selben Zeit über den gleichen Port betrieben werden können.
  • Beachten Sie, dass eine schrittweise Login-Verzögerung ( steps: 1, 2, 4, 8, 16, 32 and 60 seconds) implementiert ist. Weitere informationen finden sie in httpSetSecondaryAuthSuccess() und httpConnect().

Installation HTTP-Server

Folgende Einstellungen müssen Sie vor dem Projektstart für ein korrektes Arbeiten mit dem HTTP-Server vornehmen:

  1. Installieren Sie dasWinCC OA-Basispaket.
  2. Starten Sie einen CTRL-Manager mit dem Skript rs_http.ctl starten:
    WCCOActrl rs_http.ctl
  3. Kopieren Sie das File config.http aus dem Verzeichnis wincc_oa_path/config nach <proj_path>/config.
  4. Geben Sie in einem Browser den Rechnernamen, auf dem der HTTP-Server läuft (Hostnamen) oder dessen TCP-IP Adresse (z.B. 193.81.17.83) ein. falls der HTTP-Server lokal installiert ist, geben Sie im Browser Fenster http://localhost ein.

Anschließend kommt automatisch die Aufforderung zur Anmeldung. Es gibt drei Möglichkeiten für die Anmeldung am HTTP-Server, je nach Einstellung in der Basiskonfiguration config.http:

  • Login als WinCC OA-Benutzer. Die Benutzernamen und Passwörter sind gleich wie bei der WinCC OA-Anmeldung (User: root, PW: leer (kein Passwort) (siehe auch HTTP-Basiskonfiguration, Eintrag httpLogin).
  • Login durch Eingabe eines Zugriffscodes (siehe auch HTTP- Basiskonfiguration, Eintrag httpLogin und httpAccesscode).
  • Zugriff erfolgt ohne Login (siehe auch HTTP-Basiskonfiguration, Eintrag httpLogin).

Die Hauptverzeichnisse des HTTP-Servers sind <proj_path>/data/http und <proj_path>/pictures/http. Sie müssen Ihre HTML-Seiten in den Sprachverzeichnissen unter <proj_path>/data/http/<lang> bzw. <proj_path>/data/http/<lang>/refs abspeichern, die eigenen Bilder im Ordner <proj_path>/pictures/http. (siehe auch Arbeiten mit den WinCC OA Standard-HTML Seiten).

Die notwendige Verzeichnisstruktur wird beim Starten der Projekte automatisch angelegt. Im Verzeichnis <proj_path>/data/http werden die entsprechenden Ordner erstellt. Standardmäßig werden beim Anlegen eines mehrsprachigen Projektes die Sprachen Englisch 'en' und Deutsch 'de' unterstützt. Die Standardseiten befinden sich in diesen Ordnern, und stehen sofort zur Verfügung.

Für die Verwendung von Proxy/NoProxy Einstellungen siehe Verwendung eines Proxy.

Spracheigenschaften

Wie im Web üblich, wird hier nicht zwischen en_US und en_GB unterschieden. Es gibt genau eine Seite in Englisch. Ebenso gibt es nur eine Seite für de_AT und de_DE in Deutsch.

Die Sprache der Standard HTML-Seiten kann nicht direkt in der Adresszeile des Browsers geändert werden. Um die Sprache zu ändern, verwenden Sie die Schaltfläche zur Sprachauswahl in der HTML-Seite.

Andere Sprachen sind möglich, doch ist eine Übersetzung der Seiten erforderlich.

Möglich sind folgende 30 Sprachen:

Abkürzung Sprache
de Deutsch
en Englisch
hu Ungarisch
jp Japanisch, ext. UNIX Code
zh Chinesisch
nl Niederländisch
tr Türkisch
it Italienisch
fr Französisch
es Spanisch
el Griechisch
iw Hebräisch
da Dänisch
fi Finnisch
no Norwegisch
pt Portugiesisch
sv Schwedisch
is Isländisch
cs Tschechisch
pl Polnisch
ro Rumänisch
hr Kroatisch
sk Slowenisch
ru Russisch
bg Bulgarisch
ar Arabisch
ko Koreanisch
ja Japanisch, shift JIS encodg
th Thailändisch