
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.
- Start Stop Restart web server using the httpd command
- Start Stop Restart web server using the apachectl command
- Start IBM IHS Web Server using the service command
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.
- Start Stop Restart web server using the httpd command
- Start Stop Restart web server using the apachectl command
- Start IBM IHS Web Server using the service command
/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.
- Generate web server plugin (plugin-cfg.xml) using GenPluginCfg
- Generate web server plugin (plugin-cfg.xml) using the dmgr
- Generate web server plugin (plugin-cfg.xml) using the PCT command
- Generate web server plugin (plugin-cfg.xml) using wsadmin
- Generate web server plugin (plugin-cfg.xml) using wsadmin and httpPluginManagement.py
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.
- Propagate web server plugin (plugin-cfg.xml) using the dmgr
- Propagate web server plugin (plugin-cfg.xml) using GenPluginCfg
- Propagate web server plugin (plugin-cfg.xml) using wsadmin
- Propagate web server plugin (plugin-cfg.xml) using wsadmin and httpPluginManagement.py
- Propagate web server plugin (plugin-cfg.xml) using configurewebservername.sh
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.
- Start Stop Restart web server using the httpd command
- Start Stop Restart web server using the apachectl command
- Start IBM IHS Web Server using the service command
Did you find this article helpful?
If so, consider buying me a coffee over at