Web-Server-Plug-in für das Liberty-Profil konfigurieren
Sie können ein Web-Server-Plug-in so konfigurieren, dass eine vom Web-Server empfangene HTTP-Anforderungen nach dynamischen Ressourcen an das Liberty-Profil weitergeleitet wird.
Informationen zu diesem Vorgang
Ein Web-Server-Plug-in wird verwendet, um HTTP-Anforderungen von einem unterstützten Web-Server an einen oder mehrere Anwendungsserver weiterzuleiten. Das Plug-in prüft eine Anforderung anhand der in der Datei plugin-cfg.xml enthaltenen Konfigurationsdaten. In den Konfigurationsdaten ist der URI für die HTTP-Anforderung dem Hostnamen eines Anwendungsserver zugeordnet. Diese Informationen werden vom Web-Server-Plug-in verwendet, um die Anforderung an den Anwendungsserver weiterzuleiten.
Vorgehensweise
- Installieren Sie einen unterstützten Web-Server, z. B.
IBM® HTTP Server, der zum Lieferumfang
von IBM WebSphere Application Server gehört. Weitere Informationen finden
Sie unter IBM HTTP Server installieren.
Der mit IBM i bereitgestellte Web-Server ist bereits unter dem Produkt 5761-DG1 für IBM i V6R1 bzw. 5770-DG1 für IBM i V7R1 installiert. Der IBM i-Web-Server wird als IBM HTTP Server for IBM i bezeichnet. Der mit WebSphere Application Server bereitgestellte IBM HTTP Server wird unter IBM i nicht ausgeführt.
- Installieren Sie Web Server Plug-ins und WebSphere Customization Toolbox (WCT).
- Informationen zum Installieren von Web Server Plug-ins finden Sie unter
Web Server Plug-ins installieren und konfigurieren.
Informationen zu IBM i finden Sie unter Web Server Plug-ins installieren und konfigurieren.
- Informationen zum Installieren von WCT finden Sie unter
WebSphere Customization Toolbox installieren und verwenden.
Für IBM i installieren Sie WCT auf Ihrer Workstation. Allerdings müssen Sie keine WCT-Tools installieren. Das mit WCT installierte Java™ SDK wird in einem späteren Schritt verwendet, um das Java-Dienstprogramm "jconsole" auszuführen.
- Informationen zum Installieren von Web Server Plug-ins finden Sie unter
Web Server Plug-ins installieren und konfigurieren.
Konfigurieren Sie das Web-Server-Plug-in für Ihren ausgewählten Web-Server mit WCT.
- Wählen Sie auf die entsprechende Aufforderung in WCT hin das "ferne" Szenario aus, und geben Sie den Namen des Hosts an, auf dem das Liberty-Profil zugänglich ist.
- Das generierte configureWebserver-Script sollte nicht kopiert oder ausgeführt werden, weil dieses Script für das Liberty-Profil nicht erforderlich ist.
- Starten Sie den Server, auf dem sich Ihre Anwendungen befinden, und stellen Sie sicher,
dass das Feature localConnector-1.0
bzw. das Feature restConnector-1.0, falls Sie ein Plug-in für IBM i konfigurieren, und weitere erforderliche Features in Ihrer Serverkonfiguration enthalten sind.
Im Element pluginConfiguration der Serverkonfigurationsdatei können Sie die Attribute webserverPort und webserverSecurePort angeben, damit Anforderungen aus dem Web-Server weitergeleitet werden. Standardmäßig hat das Attribut webserverPort den Wert 80 und das Attribut webserverSecurePort den Wert 443. Vielleicht möchten Sie diese Einstellungen aber ändern. Beispielsweise müssen Sie unter Linux oder ähnlichen Plattformen Portnummern verwenden, die größer als 1024 sind, wenn Sie als Benutzer ohne Rootberechtigung arbeiten.
Informationen zu allen konfigurierbaren Attributen im Element pluginConfiguration finden Sie im Abschnitt Konfigurationselemente in der Datei 'server.xml'.
Nachfolgend ist ein Beispiel für eine Serverkonfigurationsdatei server.xml dargestellt:<server description="new server"> <featureManager> <feature>localConnector-1.0</feature> <feature>jsp-2.2</feature> </featureManager> <keyStore id="defaultKeyStore" password="{xor}PGY6bW4wOyw+" /> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080"> <tcpOptions soReuseAddr="true" /> </httpEndpoint> <pluginConfiguration webserverPort="80" webserverSecurePort="443" sslKeyringLocation="path/to/sslkeyring" sslStashfileLocation="path/to/stashfile" sslCertlabel="definedbyuser"/> <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war" /> <application type="war" id="snoop" name="snoop" location="${server.config.dir}/apps/snoop.war" /> </server>
Verwenden Sie für IBM i das Feature restConnector-1.0 anstelle des Features localConnector-1.0. Weitere Informationen finden Sie unter Sichere JMX-Verbindung zum Liberty-Profil konfigurieren.
Nachfolgend ist ein Beispiel einer Serverkonfigurationsdatei server.xml für IBM i dargestellt:
<server description="new server"> <!-- Features aktivieren --> <featureManager> <feature>jsp-2.2</feature> <feature>restConnector-1.0</feature> </featureManager> <keyStore id="defaultKeyStore" password="{xor}PGY6bW4wOyw+" /> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"> <tcpOptions soReuseAddr="true" /> </httpEndpoint> <quickStartSecurity userName="testuser" userPassword="security" /> <pluginConfiguration webserverPort="80" webserverSecurePort="443" sslKeyringLocation="path/to/sslkeyring" sslStashfileLocation="path/to/stashfile" sslCertlabel="definedbyuser"/> <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war" /> <application type="war" id="snoop" name="snoop" location="${server.config.dir}/apps/snoop.war" /> </server>
Anmerkung:- Wenn Sie die Verwendung von SSL im Web-Server-Plug-in konfigurieren, müssen Sie das Liberty-Feature ssl-1.0 des Liberty-Profils aktivieren.
- Wenn der Web-Server die Standardports verwendet, müssen Sie das Element pluginConfiguration nicht in die Datei server.xml aufnehmen.
- Der Keystore, der vom Web-Server-Plug-in verwendet wird, muss ein CMS-Keystore sein, der mit dem Dienstprogramm "Key Management" (iKeyman) erstellt werden kann. Der JKS-Keystore, der vom Liberty-Profil bzw. vom vollständigen Profil für das Web-Server-Plug-in erstellt wird, kann nicht verwendet werden, obwohl Sie Unterzeichnerzertifikate zwischen dem Keystore des Web-Server-Plug-ins und dem Keystore des Liberty-Profils austauschen müssen.
- Fügen Sie der Datei server.xml das folgende Code-Snippet hinzu, um die Position der Plug-in-Datei zu konfigurieren:
oder<Log LogLevel="Error" Name="String\logs\String\http_plugin.log"/>
<Log LogLevel="Error" Name="/Pfad_zur_Protokolldatei/http_plugin.log"/>
- Generieren Sie die Datei plugin-cfg.xml für Ihren
Liberty Profile-Server und Ihre Anwendungen, indem Sie die MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig aufrufen.
- Führen Sie das Java-Dienstprogramm
jconsole in einem Befehlsfenster aus, wobei Sie dasselbe Java SDK wie der Server verwenden. Führen Sie beispielsweise den folgenden Befehl aus:Der Serverprozess wird in den Auswahlmöglichkeiten aufgelistet, die auf eine Verbindung warten.
c:\java\bin\jconsole
Für IBM i führen Sie das Java-Dienstprogramm "jconsole" in einem Befehlsfenster aus, wobei Sie das mit WCT auf Ihrer Workstation installierte Java SDK verwenden. Führen Sie z. B. die folgenden Schritte aus:- Erstellen Sie auf Ihrer Workstation das Verzeichnis C:\restClient.
- Kopieren Sie ${wlp.install.dir}/clients/restConnector.jar in das Verzeichnis C:\restClient auf Ihrer Workstation.
- Kopieren Sie ${server.output.dir}/resources/security/key.jks in das Verzeichnis C:\restClient auf Ihrer Workstation.
- Geben Sie in einem Befehlsfenster
SET JAVA_HOME=wct_root\java ein. Anmerkung: Ändern Sie wct_root\java\jre\lib\security\java.security vorübergehend, indem Sie die beiden Zeilen auf Kommentar setzen, die die SSL-Socket-Factorys auf die SSL-Socket-Factorys von WebSphere Application Server setzen. Diese Änderung ist unter Fehlerbehebung bei SSL im Abschnitt mit den Fehlerbehebungstipps dokumentiert.
- Führen Sie in demselben Befehlsfenster das
Java-Dienstprogramm jconsole aus.Führen Sie beispielsweise den folgenden Befehl aus:
Eventuell müssen auch die folgenden Parameter angeben:"%JAVA_HOME%"\bin\jconsole -J-Djava.class.path="%JAVA_HOME%"\lib\jconsole.jar;"%JAVA_HOME%"\lib\tools.jar; C:\restClient\restConnector.jar -J-Djavax.net.ssl.trustStore=C:\restClient\key.jks -J-Djavax.net.ssl.trustStorePassword=Liberty -J-Djavax.net.ssl.trustStoreType=jks
-J-Dcom.ibm.ws.jmx.connector.client.disableURLHostnameVerification=true
- Stellen Sie eine Verbindung zu Ihrem Server her, und klicken Sie dann auf das Register
MBeans.
Nach dem Start von "jConsole" wählen Sie Remote Process (ferner Prozess) aus, und geben Sie die JMX-Service-URL ein: service:jmx:rest://<host>:<port>/IBMJMXConnectorREST. Geben Sie als Portnummer die Nummer des HTTPS-Ports an. Sie müssen auch den Benutzernamen und das Kennwort angeben.
- Suchen Sie die MBean com.ibm.ws.jmx.mbeans.generatePluginConfig in der Domäne WebSphere.
- Rufen Sie die Operation generateDefaultPluginConfig auf, um die Datei plugin-cfg.xml zu generieren, oder rufen Sie die Operation generatePluginConfig auf, um das Installationsstammverzeichnis und den Servernamen anzupassen, bevor Sie die Datei plugin-cfg.xml generieren.
Die Datei plugin-cfg.xml wird im Verzeichnis ${server.output.dir} erstellt.<?xml version="1.0" encoding="UTF-8"?> <Config ASDisableNagle="false" AcceptAllContent="false" AppServerPortPreference="HostHeader" ChunkedResponse="false" FIPSEnable="false" IISDisableNagle="false" IISPluginPriority="High" IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="false" SSLPKCSDriver="REPLACE" SSLPKCSPassword="REPLACE" TrustedProxyEnable="false" VHostMatchingCompat="false"> <Log LogLevel="Error" Name=".\logs\defaultServer\http_plugin.log"/> <Property Name="ESIEnable" Value="true"/> <Property Name="ESIMaxCacheSize" Value="1024"/> <Property Name="ESIInvalidationMonitor" Value="false"/> <Property Name="ESIEnableToPassCookies" Value="false"/> <Property Name="PluginInstallRoot" Value="."/> <VirtualHostGroup Name="default_host"> <VirtualHost Name="*:80"/> <VirtualHost Name="*:443"/> <VirtualHost Name="*:9080"/> </VirtualHostGroup> <ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="defaultServer_default_node_Cluster" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60"> <Server CloneID="b564bdc7-2c27-4a4b-ad37-9213c66e60d1" ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="default_node_defaultServer0" ServerIOTimeout="900" WaitForContinue="false"> <Transport Hostname="somehost.example.com" Port="9080" Protocol="http"/> </Server> <PrimaryServers> <Server Name="default_node_defaultServer0"/> </PrimaryServers> </ServerCluster> <UriGroup Name="default_host_defaultServer_default_node_Cluster_URIs"> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/myapp/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/> </UriGroup> <Route ServerCluster="defaultServer_default_node_Cluster" UriGroup="default_host_defaultServer_default_node_Cluster_URIs" VirtualHostGroup="default_host"/> </Config>
Anmerkung:- Sie können das Dienstprogramm jConsole für das Liberty-Profil verwenden. Alle Probleme mit dem Dienstprogramm selbst müssen Sie jedoch Ihrem Java-SDK-Anbieter melden.
- Die Managementschnittstelle für die MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig ist com.ibm.websphere.webcontainer.GeneratePluginConfigMBean. Sie können die Managementschnittstelle verwenden, um ein Proxy-Objekt anzufordern. Weitere Informationen hierzu finden Sie unter Beispiele für den Zugriff auf MBean-Attribute und -Operationen. Weitere Informationen zur Managementschnittstelle finden Sie im Java-API-Dokument für Liberty Profile. Ausführliche Informationen zur Java-API-Dokumentation für die einzelnen APIs von Liberty Profile finden Sie im Information Center im Abschnitt Programmierschnittstellen (APIs). Die Java-API-Dokumentation ist außerdem als eigenständige .zip-Datei in einem der Javadoc-Unterverzeichnisse des Verzeichnisses ${wlp.install.dir}/dev verfügbar.
- Führen Sie das Java-Dienstprogramm
jconsole in einem Befehlsfenster aus, wobei Sie dasselbe Java SDK wie der Server verwenden.
- Kopieren Sie die Datei
plugin-cfg.xml auf die Maschine, auf der sich der Web-Server befindet.
Führen Sie für IBM i die folgenden Schritte aus:
- Führen Sie den Qshell-Befehl manageprofiles aus, um ein HTTP-Profil zu erstellen. Beispiel: Plug-in-Stammverzeichnis/bin/manageprofiles -create -profileName http -templatePath http.
- Kopieren Sie die Datei plugin-cfg.xml in das Verzeichnis config des HTTP-Profils, das in einem Unterschritt erstellt wurde, z. B. Stammverzeichnis_des_Plug-in-Profils/config/plugin-cfg.xml, und legen Sie die Dateiberechtigungen dafür fest.
- Führen Sie in einer Systembefehlszeile den folgenden Befehl aus, um die Dateiberechtigungen in die erforderlichen Einstellungen zu ändern:
CHGAUT USER(QEJBSVR QTMHHTTP QNOTES) OBJ('Stammverzeichnis_des_Plug-in-Profils/config/plugin-cfg.xml') DTAAUT(*RWX)
Konfigurieren Sie Ihren HTTP-Server für die Verwendung der Datei plugin-cfg.xml.
Suchen Sie die Position Ihrer aktuellen Datei plugin-cfg.xml, indem Sie den Wert suchen, der für die Anweisung WebSpherePluginConfig unten in der Konfigurationsdatei des HTTP-Servers angegeben ist. Beispiel: <IHS_ROOT>/conf/httpd.conf.
Aktivieren Sie das Plug-in in der Datei httpd.conf des Web-Servers mit der Phrase LoadModule und geben die Position der Datei plugin-cfg.xml mit der Phrase WebSpherePluginConfig an. Beispiel:- Windows-Systeme:
LoadModule was_ap22_module "path/to/mod_was_ap22_http.dll" WebSpherePluginConfig "C:\Program Files\IBM\HTTPServer\conf\plugin-cfg.xml"
- Andere verteilte Systeme:
LoadModule was_ap22_module "path/to/mod_was_ap22_http.so" WebSpherePluginConfig "/opt/IBM/HTTPServer/conf/plugin-cfg.xml"
Für IBM i finden Sie Anweisungen zum Aktivieren des Plug-ins in der Datei httpd.conf unter IBM HTTP Server powered by Apache 2.x konfigurieren.
- Windows-Systeme:
- Optional: Wenn das Web-Server-Plug-in
HTTP-Anforderungen an mehrere Liberty Profile-Server weiterleiten soll,
wiederholen Sie die vorherigen Schritte für jeden weiteren Server. Achten Sie darauf, dass Sie alle Plug-in-Konfigurationen in einer
Datei plugin-cfg.xml konsolidieren. Anmerkung:
- Wenn eine Anwendung die Sitzungscookiekonfiguration mit Servlet 3.0-APIs programmgesteuert ändert, muss die Anwendung initialisiert werden, bevor die Datei plugin-cfg.xml generiert wird. Andernfalls kann das Attribut AffinityCookie, das für die betreffende Anwendung definiert wird, falsch sein. Zum Vermeiden dieses Problems können Sie deferServletLoad auf false setzen, den Server starten, das Plug-in generieren und anschließend das Attribut deferServletLoad entfernen.
- Sie können ein Dienstprogramm mit dem Namen pluginCfgMerge im vollständigen Profil verwenden, um mehrere Dateien plugin-cfg.xml zusammenzuführen. Weitere Informationen finden Sie unter Einfachen Lastausgleich für mehrere Anwendungsserverprofile konfigurieren.
- Sie können den Job-Manager verwenden, um mehrere Dateien plugin-cfg.xml zusammenzuführen. Weitere Informationen finden Sie unter Zusammengeführte Plug-in-Konfiguration für Liberty Profile-Server mit dem Job-Manager generieren.

Nutzungsbedingungen für Information Center | Feedback

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_admin_webserver_plugin
Dateiname: twlp_admin_webserver_plugin.html