Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno_rest_mit_ssl-verschluesselung

Dies ist eine alte Version des Dokuments!


Benno REST mit SSL-Verschlüsselung

*Achtung!* Dieses Dokument beschreibt die Konfiguration von Benno REST ab Version 2.10.0. Die Erläuterung zur Konfiguration der SSL-Verschlüsselung von älteren Versionen von Benno REST finden Sie hier.

Konfiguration von Jetty

Zur Konfiguration eines SSL-Connectors wird die Konfigurationsdatei /etc/benno/jetty.xml erweitert.

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<!-- Configuration for bennorest / jetty >= 2.10 -->
<Configure id="BennoREST-2.10.0" class="org.eclipse.jetty.server.Server">
    <Call name="addConnector">
        <Arg>
            <New class="org.eclipse.jetty.server.ServerConnector">
                <Arg name="server">
                    <Ref refid="BennoREST-2.10.0"/>
                </Arg>
                <Set name="host"></Set>
                <Set name="port">21080</Set>
            </New>
        </Arg>
    </Call>
    <Call name="addConnector">
        <Arg>
            <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector">
                <Arg name="server">
                    <Ref refid="BennoREST-2.10.0"/>
                </Arg>
                <Arg>
                    <New class="org.eclipse.jetty.util.ssl.SslContextFactory$Server">
                        <Set name="keyStorePath">/etc/benno/keystore</Set>
                        <Set name="keyStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set>
                        <Set name="keyManagerPassword">mhO3WjtG7Y5UDgi2NWxL</Set>
                        <Set name="trustStorePath">/etc/benno/keystore</Set>
                        <Set name="trustStorePassword">mhO3WjtG7Y5UDgi2NWxL</Set>
                    </New>
                </Arg>
                <Arg name="factories">
                    <Array type="org.eclipse.jetty.server.ConnectionFactory">
                        <Item>
                            <New class="org.eclipse.jetty.server.HttpConnectionFactory">
                                <Arg name="config">
                                    <New id="config" class="org.eclipse.jetty.server.HttpConfiguration">
                                        <Call name="addCustomizer">
                                            <Arg>
                                                <New class="org.eclipse.jetty.server.SecureRequestCustomizer">
                                                    <Arg name="sniRequired" type="boolean">
                                                        <Property name="jetty.ssl.sniRequired" default="false"/>
                                                    </Arg>
                                                    <Arg name="sniHostCheck" type="boolean">
                                                        <Property name="jetty.ssl.sniHostCheck" default="false"/>
                                                    </Arg>
                                                    <Arg name="stsMaxAgeSeconds" type="int">
                                                        <Property name="jetty.ssl.stsMaxAgeSeconds" default="-1"/>
                                                    </Arg>
                                                    <Arg name="stsIncludeSubdomains" type="boolean">
                                                        <Property name="jetty.ssl.stsIncludeSubdomains"
                                                                  default="false"/>
                                                    </Arg>
                                                </New>
                                            </Arg>
                                        </Call>
                                    </New>
                                </Arg>
                            </New>
                        </Item>
                    </Array>
                </Arg>
                <Set name="host">192.168.1.10</Set>
                <Set name="port">21443</Set>
                <Set name="idleTimeout">30000</Set>
            </New>
        </Arg>
    </Call>
</Configure>
<code>
 
===== Zertifikat erstellen =====
 
Der private Schlüssel und  das Zertifikat werden in einem [[keystore|Java Keystore]] gespeichert. 
 
===== Web-Frontend konfigurieren =====
 
 
In der Konfiguration von //benno-web// wird der URL in der Datei ///etc/benno-web/benno.conf// angepasst: 
<code>BASE_URL = https://rest.lw-systems.net:21443

Bei der Abfrage des REST-Backends wird das SSL-Zertifikat nicht geprüft. Falls diese Prüfung erzwungen werden soll,

muss der Konfigurations-Parameter REST_SSL_VERIFY auf „true“ gesetzt werden.

# to enable ssl certificate verification of REST server set YES
#REST_SSL_VERIFY = NO

Diese Parameter werden beim Aufbau der Session eingelesen. Daher ist es notwendig, sich nach Änderung abzumelden und wieder neu anzumelden.

benno_rest_mit_ssl-verschluesselung.1681390516.txt.gz · Zuletzt geändert: 2023/04/13 12:55 von lwsystems