-1

最初的问题

两天前,我们遇到了以下错误以及奇怪的设备行为,即一些设备能够通过负载平衡器连接/工作,而有些则不能。但昨天所有设备都能够连接。尽管在网络或服务器中没有进行任何更改。网络团队在这里他们也证实他们什么也没做。

更新

IBM MobileFirst 6.3 是否支持Cisco ACE硬件负载平衡器?

我的一个客户已经为两台单独的机器(物理)设置了它,我们在通过负载均衡器访问服务器控制台时遇到了以下问题。

但是,如果我们直接通过任何一台机器的 IP 地址访问 MobileFirst 控制台,那么它可以正常工作并显示所有内容。

在此处输入图像描述

如果此支持可用,请指导我。

环境细节

  • IBM WAS Liberty Profile 8.5.5.0(基本版本)
  • MobileFirst 6.3(内部版本号:IMF 00-20141127-1357)
  • Windows Server 2012 R2 (v 6.3)
  • 甲骨文 11.2

服务器.xml

<server description="new server">

    <!-- Enable features -->
    <featureManager>
        <feature>jsp-2.2</feature>

        <!-- Begin of features added by IBM Worklight installer. -->
        <!-- The following lines will be removed when the application is uninstalled -->
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>appSecurity-1.0</feature>
        <feature>jndi-1.0</feature>
        <!-- End of features added by IBM Worklight installer. -->


        <!-- Begin of features added by IBM Worklight <installWorklightAdmin> ant task for context root '/wladmin'. -->
        <!-- The following lines will be removed when the application is uninstalled -->
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>jndi-1.0</feature>
        <feature>restConnector-1.0</feature>
        <feature>appSecurity-1.0</feature>
        <!-- End of features added by IBM Worklight <installWorklightAdmin> ant task for context root '/wladmin'. -->


        <!-- Begin of features added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
        <!-- The following lines will be removed when the application is uninstalled -->
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>jndi-1.0</feature>
        <!-- End of features added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->

    </featureManager>

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443" >

        <!-- Option soReuseAddr added by IBM Worklight installer. -->
        <!-- Option soReuseAddr added by IBM Worklight <installWorklightAdmin> ant task for context root '/wladmin'. -->
        <!-- Option soReuseAddr added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->
        <tcpOptions soReuseAddr="true"/>

    </httpEndpoint>



    <basicRegistry>
        <!--    Worklight user.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
        -->
        <user name="WorklightRESTUser" password="kRbMiUKhbuak"/>

        <!--    Worklight user.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
        -->
        <user name="admin" password="admin"/>

        <!--    Worklight user.
        [Added by IBM Worklight Installation Manager for context root '/applicationcenter'] 
        -->
        <user name="demo" password="demo"/>

        <!--    Worklight user.
        [Added by IBM Worklight Installation Manager for context root '/applicationcenter'] 
        -->
        <user name="appcenteradmin" password="admin"/>

        <!--    IBM Application Center group.
        [Added by IBM Worklight Installation Manager for context root '/applicationcenter'] 
        -->
        <group name="appcentergroup">
            <!--    IBM Application Center group member.
            [Added by IBM Worklight Installation Manager for context root '/applicationcenter'] 
            -->
            <member name="demo"/>

            <!--    IBM Application Center group member.
            [Added by IBM Worklight Installation Manager for context root '/applicationcenter'] 
            -->
            <member name="appcenteradmin"/>

        </group>

    </basicRegistry>

    <!-- Begin of configuration added by IBM Worklight installer. -->

    <!-- Declare the IBM Application Center Console application. -->
    <application id="appcenterconsole" name="appcenterconsole" location="appcenterconsole.war" type="war">
        <application-bnd>
            <security-role name="appcenteradmin">
                <group name="appcentergroup"/>
            </security-role>
        </application-bnd>
    </application>

    <!-- Declare the IBM Application Center Services application. -->
    <application id="applicationcenter" name="applicationcenter" location="applicationcenter.war" type="war">
        <application-bnd>
            <security-role name="appcenteradmin">
                <group name="appcentergroup"/>
            </security-role>
        </application-bnd>
        <classloader delegation="parentLast">
            <commonLibrary>
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
            </commonLibrary>
        </classloader>
    </application>

    <!-- Declare the JNDI properties for the IBM Application Center. -->

    <!-- Define the AppCenter services endpoint in order for the AppCenter console to be able to invoke the REST service.
            You need to enable this property if the server is behind a reverse proxy
            or if the context root of the Application Center Services application is different from '/applicationcenter'. -->
    <!-- <jndiEntry jndiName="ibm.appcenter.services.endpoint" value='"http://proxyhost:proxyport/applicationcenter"'/> -->
    <!-- The directory with binaries of the 'aapt' program, from the Android SDK's platform-tools package. -->
    <jndiEntry jndiName="android.aapt.dir" value='"D:/IBM/MobileFirst_Platform_Server/ApplicationCenter/tools/android-sdk"'/>
    <!-- The protocol of the application resources URI. This property is optional. It is only needed if the protocol of the external and internal URI are different. -->
    <!-- <jndiEntry jndiName="ibm.appcenter.proxy.protocol" value='"http"'/> -->
    <!-- The hostname of the application resources URI. -->
    <!-- <jndiEntry jndiName="ibm.appcenter.proxy.host" value='"proxyhost"'/> -->
    <!-- The port of the application resources URI. This property is optional. -->
    <!-- <jndiEntry jndiName="ibm.appcenter.proxy.port" value="proxyport"/> -->

    <!-- Declare the jar files for Oracle access through JDBC. -->
    <library id="OracleLib">
        <fileset dir="${shared.resource.dir}/oracle" includes="*.jar"/>
    </library>

    <!-- Declare the IBM Application Center database. -->
    <dataSource jndiName="jdbc/AppCenterDS" transactional="false">
        <jdbcDriver libraryRef="OracleLib"/>
        <properties.oracle driverType="thin" URL="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testdb01scan.mycompany.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = gmaxt.mycompany.local)))" user="WLAPPCENTER" password="WLAPPCENTER"/>
    </dataSource>

    <!-- End of configuration added by IBM Worklight installer. -->

<!--
    IBM Worklight requires SSL and declared the "defaultKeyStore" default keystore. 
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    This configuration is the minimum one that you need to create an SSL configuration.
    With this configuration, the Liberty server creates the keystore and the certificate, 
    if it does not exist yet, during the SSL initialization.
    The created certificate is a self-signed certificate that is valid for 365 days.
    Do not use the certificates that the Liberty server created for production use.
    For more information see  http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.wlp.core.doc/ae/twlp_sec_ssl.html
-->
    <keyStore id="defaultKeyStore" password="worklight"/>

    <administrator-role>
        <!--    Worklight JMX User.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
        -->
        <user>WorklightRESTUser</user>

    </administrator-role>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.admin.jmx.host" value="localhost"/>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.admin.jmx.port" value="9443"/>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.admin.jmx.user" value="WorklightRESTUser"/>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.admin.jmx.pwd" value="kRbMiUKhbuak"/>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.topology.platform" value="Liberty"/>
    <!--    Worklight JNDI property for JMX connection.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
    -->
    <jndiEntry jndiName="ibm.worklight.topology.clustermode" value="Standalone"/>

    <!--    WebContainer statement.
        [Added by IBM Worklight <installWorklightAdmin> Ant task for context root '/wladmin'] 
        [Added by IBM Worklight <configureApplicationServer> Ant task for context root '/worklight'] 
    -->
    <webContainer invokeFlushAfterService="false" deferServletLoad="false"/>

    <!-- Element <executor> added by IBM Worklight <installWorklightAdmin> ant task for id 'wladmin'. -->
    <executor id="default" name="LargeThreadPool"
              coreThreads="200" maxThreads="400" keepAlive="60s"
              stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>


    <!-- Begin of configuration added by IBM Worklight <installWorklightAdmin> ant task for context root '/wladmin'. -->

    <!-- Declare the Worklight Administration Service application. -->
    <application id="wladmin" name="wladmin" location="worklightadmin.war" type="war">
        <application-bnd>
            <security-role name="worklightadmin">
                <user name="admin"/>

            </security-role>

            <security-role name="worklightdeployer">
            </security-role>

            <security-role name="worklightmonitor">
            </security-role>

            <security-role name="worklightoperator">
            </security-role>

        </application-bnd>

        <classloader delegation="parentLast" commonLibraryRef="wladmin/OracleLib">
            <commonLibrary id="worklightlib_wladmin">

                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
            </commonLibrary>
        </classloader>
    </application>

    <!-- Declare the JNDI properties for the Worklight Administration Service. -->
    <jndiEntry jndiName="wladmin/ibm.worklight.admin.environmentid" value='"worklight"'/>


    <!-- Declare the jar files for Oracle access through JDBC. -->
    <library id="wladmin/OracleLib">
        <fileset dir="${shared.resource.dir}/wladmin/oracle" includes="ojdbc6.jar"/>
    </library>

    <!-- Declare the IBM Worklight Administration database. -->
    <dataSource jndiName="wladmin/jdbc/WorklightAdminDS" transactional="false">
        <jdbcDriver libraryRef="wladmin/OracleLib"/>
        <properties.oracle driverType="thin" URL="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testdb01scan.mycompany.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = gmaxt.mycompany.local)))" user="WLADMIN" password="WLADMIN"/>
    </dataSource>

    <!-- Declare the Worklight Administration Console application. -->
    <application id="worklightconsole" name="worklightconsole" location="worklightconsole.war" type="war">
        <application-bnd>
            <security-role name="worklightadmin">
                <user name="admin"/>

            </security-role>

            <security-role name="worklightdeployer">
            </security-role>

            <security-role name="worklightmonitor">
            </security-role>

            <security-role name="worklightoperator">
            </security-role>

        </application-bnd>

    </application>

    <!-- Declare the JNDI properties for the Worklight Administration Console. -->
    <jndiEntry jndiName="worklightconsole/ibm.worklight.admin.endpoint" value='"*://*:*/wladmin"'/>


    <!-- End of configuration added by IBM Worklight <installWorklightAdmin> ant task for context root '/wladmin'. -->


    <!-- Begin of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->

    <!-- Declare the IBM Worklight project runtime application. -->
    <application id="worklight" name="worklight" location="UATNode2.war" type="war">
        <classloader delegation="parentLast">
            <privateLibrary id="worklightlib_worklight">
                <fileset dir="${shared.resource.dir}/worklight/lib" includes="worklight-jee-library.jar"/>
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
            </privateLibrary>
        </classloader>
    </application>

    <!-- Declare the JNDI properties for the IBM Worklight project runtime. -->
    <jndiEntry jndiName="worklight/publicWorkLightProtocol" value='"http"'/>
    <jndiEntry jndiName="worklight/publicWorkLightPort" value='"9080"'/>
    <jndiEntry jndiName="worklight/ibm.worklight.admin.environmentid" value='"worklight"'/>


    <!-- Declare the jar files for Oracle access through JDBC. -->
    <library id="worklight/OracleLib">
        <fileset dir="${shared.resource.dir}/worklight/oracle" includes="ojdbc6.jar"/>
    </library>

    <!-- Declare the IBM Worklight Server database. -->
    <dataSource jndiName="worklight/jdbc/WorklightDS" transactional="false">
        <jdbcDriver libraryRef="worklight/OracleLib"/>
        <properties.oracle driverType="thin" URL="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testdb01scan.mycompany.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = gmaxt.mycompany.local)))" user="WRKLIGHT" password="WRKLIGHT"/>
    </dataSource>

    <!-- Declare the IBM Worklight Server reports database. -->
    <dataSource jndiName="worklight/jdbc/WorklightReportsDS" transactional="false">
        <jdbcDriver libraryRef="worklight/OracleLib"/>
        <properties.oracle driverType="thin" URL="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testdb01scan.mycompany.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = gmaxt.mycompany.local)))" user="WLRREPOR" password="WLRREPOR"/>
    </dataSource>

    <!-- End of configuration added by IBM Worklight <configureApplicationServer> ant task for context root '/worklight'. -->

</server>
4

1 回答 1

1

你在 WAS ND 上运行吗?

您可能需要设置以下 JNDI 属性

ibm.worklight.admin.proxy.host
ibm.worklight.admin.proxy.port
ibm.worklight.admin.proxy.protocol

并将其值指向您的负载均衡器路径

此外,您需要确保运行 MFP 的服务器可以通过网络访问负载平衡器(端口打开等)

定义 Worklight 管理服务的端点 http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.installconfig.doc/install_config/c_endpoint_admin_services.html

MobileFirst 管理的 JNDI 属性列表 http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/install_config/r_wladmin_jndi_property_list.html

关于反向代理的一些信息: http ://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.integ.doc/integ/r_integration_with_reverse_proxy.html

于 2015-05-19T18:32:53.470 回答