Bootstrap FreeKB - IBM IHS Web Server - Resolve "Failed parsing plugin config file"
IBM IHS Web Server - Resolve "Failed parsing plugin config file"

Updated:   |  IBM IHS Web Server articles

Let's say your IBM WebSphere Plugin http_plugin.log file contains something like this.

[05/Oct/2023:00:24:00.18139] 001736fb 42110500 - ERROR: ws_common: websphereUpdateConfig: Failed parsing plugin config file:
[05/Oct/2023:00:24:00.18169] 001736fb 42110500 - ERROR: ws_common: websphereInit: Failed to load the config file
[05/Oct/2023:00:24:00.18169] 001736fb 42110500 - ERROR: mod_was_ap24_http: as_post_config: unable to initialize websphere

 

This suggests there is some issue with the IBM WebSphere Web Server Plugin. Check out my article Getting Started with the web server plugin (plugin-cfg.xml) if you are not familiar with the IBM WebSphere Web Server Plugin.

I once had this issue when I installed version 9.0.5.16 of the IBM WebSphere Web Server Plugin and then again when I installed version 9.0.5.18 of the IBM WebSphere Web Server Plugin. Check out my article list installed packages using the imcl listInstalledPackages command.

~]$ /opt/WebSphere/InstallationManager/eclipse/tools/imcl listInstalledPackages -long
/opt/WebSphere/InstallationManager/eclipse : com.ibm.cic.agent_1.9.2004.20230323_1254 : IBM® Installation Manager : 1.9.2.4
/opt/WebSphere/Plugins90 : com.ibm.java.jdk.v8_8.0.8005.20230425_1032 : IBM SDK, Java Technology Edition, Version 8 : 8.0.8.5
/opt/WebSphere/Plugins90 : com.ibm.websphere.PLG.v90_9.0.5016.20230609_0954 : Web Server Plug-ins for IBM WebSphere Application Server : 9.0.5.16

 

It may simply be the case that a secured connection cannot be made between the IHS web server and WebSphere because the plugin-cfg.kdb (Key Database) and plugin-cfg.sth (Stash File) have not been copied from WebSphere to IHS. In your WebSphere deployment manager, at Servers > Server Types > Web servers > your IHS web server > Plug-in properties you can select Copy to Web server key store directory to copy the plugin-cfg.kdb and plugin-cfg.sth files from your WebSphere deployment manager to your IHS web server. And then restart your IHS web server and see if the issue is resolved. 

If this resolves the issue, you may want to run GenPluginCfg.bat (Windows) or GenPluginCfg.sh (Linux) with the -propagateKeyring yes option before installing a new version of the IBM WebSphere Web Server Plugin.

 

If the issue persists, notice the http_plugin.log mentions mod_was_ap24_http.so. This is the module that the web server uses. The web servers httpd.conf file will use the LoadModule directive to load the mod_was_ap24_http.so module. Additionally, there should also be a WebSpherePluginConfig directive that points to the IBM WebSphere Web Server Plugin configuration file plugin-cfg.xml.

LoadModule was_ap24_module /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
WebSpherePluginConfig /opt/WebSphere/Plugins90/config/myWebServer/plugin-cfg.xml

 

You can use the httpd or apachectl command to see if the mod_was_ap24_http.so module was Loaded. Check out my articles Display loaded modules using the httpd command or Display loaded modules using the apachectl command.

~]# /path/to/bin/httpd -M
Loaded Modules:
 was_ap24_module (shared)

 

Assuming the module was loaded, if you have multiple servers, where some servers have a certain version of the IBM WebSphere Web Server Plugin (such as 9.0.5.14) and others have a different version (such as 9.0.5.16) you can check to see if the mod_was_ap24_http.so file is different. I noticed that the servers at version 9.0.5.14, the mod_was_ap24_http.so file was 2611303 bytes, whereas the servers at version 9.0.5.16, the mod_was_ap24_http.so file was 2714692 bytes. In other words, something was different with the mod_was_ap24_http.so file on version 9.0.5.14 vs version 9.0.5.16.

[john.doe@server1 ~]$ ll /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
-rwxr-xr-x. 1 nobody admins 2714692 Oct  5  2022 /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so

[john.doe@server2 ~]$ ll /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
-rwxr-xr-x. 1 nobody admins 2611303 Oct  5  2022 /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so

 

I stopped the web server instances.

/path/to/bin/apachectl -k stop

 

I took a copy of the mod_was_ap24_http.so file from the server at version 9.0.5.14 and copied it onto the server at version 9.0.5.16, restarted the IBM IHS web server instances, and then re-checked the http_plugin.log file, and saw the Plugin was successfully loaded.

[05/Oct/2023:00:52:54.64911] 00175616 62eab500 - PLUGIN: Plugins loaded.
[05/Oct/2023:00:52:54.64914] 00175616 62eab500 - PLUGIN: --------------------System Information-----------------------
[05/Oct/2023:00:52:54.64914] 00175616 62eab500 - PLUGIN: Bld version: 9.0.5.14
[05/Oct/2023:00:52:54.64915] 00175616 62eab500 - PLUGIN: Bld date: Oct  5 2022, 13:05:30
[05/Oct/2023:00:52:54.64915] 00175616 62eab500 - PLUGIN: Webserver: IBM_HTTP_Server/9.0.5.16 (Unix)
[05/Oct/2023:00:52:54.64916] 00175616 62eab500 - PLUGIN: OS : Linux x86_64
[05/Oct/2023:00:52:54.64916] 00175616 62eab500 - PLUGIN: Hostname = server1.example.com
[05/Oct/2023:00:52:54.64917] 00175616 62eab500 - PLUGIN: NOFILES = hard: 65536, soft: 65536
[05/Oct/2023:00:52:54.64917] 00175616 62eab500 - PLUGIN: MAX COREFILE SZ = hard: INFINITE, soft: 0
[05/Oct/2023:00:52:54.64918] 00175616 62eab500 - PLUGIN: DATA = hard: INFINITE, soft: INFINITE
[05/Oct/2023:00:52:54.64918] 00175616 62eab500 - PLUGIN: --------------------------------------------------------------

 

You may want to try setting these parameters in the WebSphere admin console at Servers > Server Types > Web servers > your web server > Plug-in properties > Custom properties.

  • SecureHostVerification = true-nomarkdown or false
  • HostVerificationStartupCheck = false
  • UseInsecure = true

 

You should be able to see these parameters set in your web servers server.xml file.

~]$ cat /opt/WebSphere/AppServer/profiles/your_profile/config/cells/your_cell/nodes/your_code/servers/your_server/server.xml
      <properties xmi:id="Property_1696497760186" name="SecureHostVerification" value="false" required="false"/>
      <properties xmi:id="Property_1696498841890" name="HostVerificationStartupCheck" value="false" required="false"/>
      <properties xmi:id="Property_1696499442733" name="UseInsecure" value="true" required="false"/>

 

Or, wsadmin.sh can be used.

~]$ /opt/WebSphere/AppServer/profiles/your_dmgr_profile/bin/wsadmin.sh -c "print AdminConfig.list('Property', '(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#PluginProperties_1665772887624)')" -lang jython
WASX7209I: Connected to process "dmgr" on node your_dmgr using SOAP connector;  The type of process is: DeploymentManager
HostVerificationStartupCheck(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696498841890)
SecureHostVerification(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696497760186)
UseInsecure(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696499442733)

 

Then generate the web server plugin plugin-cfg.xml file using one of these methods.

 

And verify SecureHostVerification and HostVerificationStartupCheck and UseInsecure are in the plugin-cfg.xml file on your WebSphere deployment manager. There is a defect with certain versions of WebSphere where SecureHostVerification and HostVerificationStartupCheck are not in plugin-cfg.xml. To resolve this, you would want to install interim fix 8.5.5.14-WS-WAS-IFPH48747.

~]$ head /opt/WebSphere/AppServer/profiles/your_profile/config/cells/your_cell/nodes/your_web_node/servers/your_web_server/plugin-cfg.xml
HostVerificationStartupCheck="false"
SecureHostVerification="false"
UseInsecure="true"

 

And then propagate the web server plugin plugin-cfg.xml file using one of these methods.

 

And verify the plugin-cfg.xml file on your IHS web server contains the following:

  • SecureHostVerification = true-nomarkdown or false
  • HostVerificationStartupCheck = false
  • UseInsecure = true
~]$ head /opt/WebSphere/Plugins/config/my_web_server/plugin-cfg.xml
<?xml version="1.0" encoding="ISO-8859-1"?><!--HTTP server plugin config file for the webserver InttstUnicaCell10.InttstUnicaWeb10.InttstUnicaWeb10 generated on 2024.08.28 at 09:42:15 PM CDT-->
<Config ASDisableNagle="false" AcceptAllContent="true" AppServerPortPreference="HostHeader" ChunkedResponse="false" FIPSEnable="false" FailoverToNext="false" HTTPMaxHeaders="300" HostVerificationStartupCheck="false" IISDisableFlushFlag="false" IISDisableNagle="false" IISPluginPriority="High" IMSecureConnectorVerification="fail" IMSecureEndpointVerification="fail" IgnoreDNSFailures="false" KillWebServerStartUpOnParseErr="false" MarkBusyDown="false" OS400ConvertQueryStringToJobCCSID="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="true" SecureHostVerification="false" StrictSecurity="false" TrustedProxyEnable="false" UseInsecure="true" VHostMatchingCompat="false">

 

And then restart your IHS web server and see if the issue is resolved.

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 7490c8 in the box below so that we can be sure you are a human.