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
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:1in 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:
- Installieren Sie dasWinCC OA-Basispaket.
- Starten Sie einen CTRL-Manager mit dem Skript
rs_http.ctlstarten:WCCOActrl rs_http.ctl - Kopieren Sie das File
config.httpaus dem Verzeichniswincc_oa_path/confignach<proj_path>/config. - 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 |
