0

I create a Liberty server version 20.0.0.10 and an IBM HTTP Server version 9.0.0.5. I found that when I access server configure page on Admin Center through IBM HTTP Server. There is a "Not Found" message like below: enter image description here

my server.xml:

<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">

    <!-- Enable features -->
    <featureManager>
        <feature>jsp-2.3</feature>
    <feature>adminCenter-1.0</feature>
    <feature>localConnector-1.0</feature>
        <feature>ssl-1.0</feature>
    </featureManager>

    <!--keyStore id="defaultKeyStore" 
        location="key.p12" 
        type="PKCS12" 
        password="p@ssw0rd" /-->    
    <keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />

    <!--pluginConfiguration webserverPort="80" webserverSecurePort="443" 
                    pluginInstallRoot="/opt/IBM/WeSphere/Plugins"
                                     sslKeyringLocation="/opt/IBM/WebSphere/Plugins/config/webserver1/liberty-key.kdb" 
                                     sslStashfileLocation="/opt/IBM/WebSphere/Plugins/config/webserver1/plugin-key.sth" /-->

    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
    <httpEndpoint host="*"
          id="defaultHttpEndpoint"
                  httpPort="9080"
                  httpsPort="9443" />

    <!-- Automatically expand WAR files and EAR files -->
    <applicationManager autoExpand="true"/>

    <basicRegistry realm="basicRealm">
        <user name="admin" password="passw0rd" />
    <user name="reader" password="passw0rd" />
    </basicRegistry>

    <administrator-role>
        <user>admin</user>
    </administrator-role>

<remoteFileAccess>
   <writeDir>${server.config.dir}</writeDir>
</remoteFileAccess>

    <reader-role>
        <user>reader</user>
    </reader-role>
</server>

It works fine when I access Admin Center use https://192.168.20.133:9443/adminCenter. Here is my plugin-cfg.xml

<?xml version="1.0" encoding="UTF-8"?><!--HTTP server plugin config file for server1 generated on 2020.11.10 at 09:36:27 CST-->
<Config ASDisableNagle="false" AcceptAllContent="false" AppServerPortPreference="HostHeader" ChunkedResponse="false" ConfigHash="1432799067" FIPSEnable="false" IISDisableNagle="false" IISPluginPriority="High" IgnoreDNSFailures="false" RefreshInterval="60" ResponseChunkSize="64" SSLConsolidate="false" TrustedProxyEnable="false" VHostMatchingCompat="false">
   <Log LogLevel="Error" Name="/opt/IBM/WebSphere/Plugins/logs/webserver1/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="/opt/IBM/WebSphere/Plugins"/>
<!-- Configuration generated using httpEndpointRef=defaultHttpEndpoint-->
<!-- The default_host contained only aliases for endpoint defaultHttpEndpoint.
     The generated VirtualHostGroup will contain only configured web server ports:
        webserverPort=80
        webserverSecurePort=443 -->
   <VirtualHostGroup Name="default_host">
      <VirtualHost Name="*:80"/>
      <VirtualHost Name="*:443"/>
   </VirtualHostGroup>
   <ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="server1_default_node_Cluster" PostBufferSize="0" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60" ServerIOTimeoutRetry="-1">
      <Server CloneID="d6f75401-d1b4-44a7-82bf-97138bf7d18c" ConnectTimeout="5" ExtendedHandshake="false" LoadBalanceWeight="20" MaxConnections="-1" Name="default_node_server1" ServerIOTimeout="900" WaitForContinue="false">
         <Transport Hostname="liberty-poc" Port="9080" Protocol="http"/>
         <Transport Hostname="liberty-poc" Port="9443" Protocol="https">
            <Property Name="keyring" Value="/opt/IBM/WebSphere/Plugins/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBM/WebSphere/Plugins/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
      <PrimaryServers>
         <Server Name="default_node_server1"/>
      </PrimaryServers>
   </ServerCluster>
   <UriGroup Name="default_host_server1_default_node_Cluster_URIs">
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/IBMJMXConnectorREST/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm/api/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm/adminCenter/explore-1.0/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm/adminCenter/serverConfig-1.0/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/adminCenter/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/*"/>
   </UriGroup>
   <Route ServerCluster="server1_default_node_Cluster" UriGroup="default_host_server1_default_node_Cluster_URIs" VirtualHostGroup="default_host"/>
</Config>

I start HTTP Server with root. Is there possible that HTTP Server not have permission to read or write server.xml?

Eric
  • 13
  • 4

1 Answers1

0

It should not be a permission issue since your proxy server is not the one reading the files, it's just proxying the requests from the client to the server, and the server is still doing the read/write.

That would then indicate that the issue is due to a call not getting properly proxied to the server, however, I can't tell from the screenshot which call since the screenshot of the "Not Found" page doesn't specify the URL. However, if I had to guess, I'd bet on either https://192.168.20.133:443/ibm/adminCenter/serverConfig-1.0 or https://192.168.20.133:443/ibm/adminCenter/serverConfig-1.0/ so I would suggest trying each of those and see if the tool loads or if you get the error page from the proxy server. You can further verify the request that is returning the "Not Found" by checking the Network Tab in the debugger tools of the browser (usually accessed via F12 shortcut).

If it ends up being one of those files (or another one that you find in the Network tab), then I would verify that that the proxy configuration is correct regarding routing it to the target server.

M. Broz
  • 704
  • 4
  • 11