Datei "plugin-cfg.xml" mithilfe einer MBean generieren
Sie können die Datei plugin-cfg.xml für den Web-Server generieren, indem Sie die MBean WebSphere:name=com.ibm.ws.jmx.mbeans.generatePluginConfig aufrufen.
Vorbereitende Schritte
Ab 16.0.0.3 müssen Sie die Datei plugin-cfg.xml nicht mehr generieren. Das Produkt generiert die Datei automatisch. Informationen hierzu finden Sie unter Automatische Generierung der Datei "plugin-cfg.xml".
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.
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
- Starten Sie den Server, auf dem sich Ihre Anwendungen befinden, und stellen Sie sicher, dass das Feature
localConnector-1.0 für IBM®i- und z/OS-Plattformen bzw. das Feature restConnector-1.0, falls
Sie ein Plug-in für IBM i oder z/OS konfigurieren, und weitere erforderlichen Features in der 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 des Elements pluginConfiguration finden Sie unter Java Servlets 3.1.
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 und z/OS das Feature restConnector-1.0 anstelle des Features localConnector-1.0. Weitere Informationen finden Sie unter Sichere JMX-Verbindung zu Liberty konfigurieren.
Nachfolgend finden Sie ein Beispiel für eine Serverkonfigurationsdatei des Typs server.xml für IBM i und z/OS:
<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 von Liberty 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 von Liberty bzw. von WebSphere Application Server Traditional 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 Liberty-Keystore austauschen müssen.
- Fügen Sie der Datei server.xml im Element pluginConfiguration das folgende Code-Snippet hinzu, um die Position der Plug-in-Protokolldatei zu
konfigurieren:
logDirLocation="/path/to/log/file/"
- Generieren Sie die Datei plugin-cfg.xml für Ihren
Liberty-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ühren Sie für IBM i und z/OS das Java-Dienstprogramm "jconsole" in einem Befehlsfenster aus, indem 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 Sie auch den 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 in Liberty 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.
- 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)


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_generate_plugin_cfg_xml_mbean
Dateiname: twlp_generate_plugin_cfg_xml_mbean.html