Apache http konfigurieren
Dieses Kapitel beschreibt, wie Sie die erforderlichen Zertifikate erstellen. Sie benötigen die Zertifikate für:
-
Die Nutzung der https Verbindung
-
Die Konfiguration des Apache http als Proxy für ältere SINUMERIK-Steuerungen
-
Die Anbindung an das MindSphere V3 Livesystem bei älteren SINUMERIK-Steuerungen
Im Folgenden wird eine Minimalkonfiguration beschrieben, die für die Verbindung ausreicht. Ausschließlich die benötigten Module werden geladen. Für die SSL-Verbindung ist nur TLS 1.2 erlaubt. Es werden nur die Ciphers freigeschaltet, die MindSphere für die Funktion benötigt.
Zertifikat für SSL-Verbindung erstellen
-
Erstellen Sie das Verzeichnis für das Zertifikat:
mkdir /usr/local/apache2/ssl_cert
-
Wechseln Sie in das Zertifikat Verzeichnis:
cd /usr/local/apache2/ssl_cert
-
Erstellen Sie das Zertifikat und das entsprechende Schlüssel-File mit dem folgenden Befehl:
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
-
Folgen Sie den Anweisungen und geben Sie die erforderlichen Informationen ein:
Generating a 2048 bit RSA private key.............+++
..................+++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Bavaria
Locality Name (eg, city) []:Nuremberg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Siemens
Organizational Unit Name (eg, section) []:Mindsphere
Common Name (e.g. server FQDN or YOUR name) []:IoT2040
Email Address []:
Apache http Konfigurationsdateien bearbeiten
In der folgenden Konfiguration ist der Proxy für die Verbindung folgender Systeme konfiguriert.
Folgende Möglichkeiten stehen für die Bearbeitung der Konfigurationsdateien zur Verfügung:
-
Über die Verbindung mit WinSCP
-
Über die Verbindung mit PuTTY oder einen anderen SSH-Client, und der Benutzung des integrierten Linux Befehlszeileneditor "nano", der im aktuellen Image integriert ist
-
Auf jede andere gewünschte Weise
Die folgenden Dateien werden bearbeitet:
-
/usr/local/apache2/conf/httpd.conf
-
/usr/local/apache2/conf/extra/httpd-ssl.conf
-
/usr/local/apache2/conf/extra/httpd-vhosts.conf
httpd.conf bearbeiten
Geben Sie die folgenden Zeilen ein:Listen 8080
Listen 8081
Listen 8082
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule autoindex_module modules/mod_autoindex.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule dir_module modules/mod_dir.so
#ServerAdmin you@example.com
ServerName localhost
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-ssl.conf
Zusatz für den Firmen-Proxy einfügen
Wird in Ihrer Firma ein Firmen-Proxy genutzt, müssen Sie eine zusätzliche Zeile in die Konfiguration einfügen.
Beispiel:
-
Proxy: 123.124.125.126
-
Proxy-Port: 4321
Fügen Sie folgende Zeile am Ende der Datei ein:
-
httpd.conf:
ProxyRemote * http://123.124.125.126:4321
Proxy-Autorisierung im Proxy-RemoteHINWEIS
In der aktuellen Apache Version wird die Benutzung der Proxy-Autorisierung im Proxy-Remote nicht unterstützt. In einem künftigen Release könnte es von Apache implementiert werden.
Wenn Sie diese Funktion für Ihre Anwendung benötigen, finden Sie eine mögliche Lösung unter dem folgenden Link, der einen Lösungsansatz verfolgt:
extra\httpd-ssl.conf bearbeiten
Geben Sie die folgenden Zeilen ein:#Listen 443
#SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
#SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:SSLCipherSuite ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:AES128-SHA256
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:SSLProxyCipherSuite ECDHE-RSA-AES128-CBC-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:AES128-SHA256
SSLProtocol -all +TLSv1.2
SSLProxyProtocol -all +TLSv1.2
#ServerName www.example.com:443
#ServerAdmin you@example.com
ServerName IoT2040:443
SSLCertificateFile "/usr/local/apache2/ssl_cert/certificate.pem"
SSLCertificateKeyFile "/usr/local/apache2/ssl_cert/key.pem"
extra\httpd-vhosts.conf bearbeiten
Geben Sie die folgenden Zeilen ein:
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
# ServerName dummy-host.example.com
# ServerAlias www.dummy-host.example.com
# ErrorLog "logs/dummy-host.example.com-error_log"
# CustomLog "logs/dummy-host.example.com-access_log" common
#</VirtualHost>
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host2.example.com
# DocumentRoot "/usr/local/apache2/docs/dummy-host2.example.com"
# ServerName dummy-host2.example.com
# ServerAlias www.dummy-host2.example.com
# ErrorLog "logs/dummy-host2.example.com-error_log"
# CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>
<VirtualHost *:8080>
ServerName sinac.apps.mindsphere.io/
SSLProxyEngine On
RequestHeader set Front-End-Https "On"
ProxyPass / https://sinac.apps.mindsphere.io/
ProxyPassReverse / https://sinac.apps.mindsphere.io/
</VirtualHost>
<VirtualHost *:8081>
ServerName sinumerikagentcom-dev.apps.mindsphere.io/
SSLProxyEngine On
RequestHeader set Front-End-Https "On"
ProxyPass / https://sinumerikagentcom-dev.apps.mindsphere.io/
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:
ProxyPassReverse / https://sinumerikagentcom-dev.apps.mindsphere.io/
</VirtualHost>
Konfigurationsdateien - Export
httpd.conf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
extra\httpd-ssl.conf
|
|
|
|
|
|
|
|
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:
Hinweis: Führen Sie die folgenden Zeilen als einen Befehl aus:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
extra\httpd-vhosts.conf
|
|
|
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
HINWEIS
Das Zertifikat hat eine Gültigkeit von 1 Jahr (365 Tagen).
Um die Gültigkeit zu erweitern, fügen Sie den Parameter "-days 365" an.