IBM MobileFirst Server支持Cisco ACE硬件负载均衡器

时间:2015-05-18 19:15:39

标签: load-balancing cisco ibm-mobilefirst mobilefirst-server mobilefirst-console

初步问题

两天前,我们遇到了以下错误以及奇怪的设备行为,即某些设备能够通过负载均衡器连接/工作,而有些则没有。但昨天所有设备都能够连接。虽然在网络或服务器中没有进行任何更改。网络团队在这里他们也确认他们没有做任何事情。

更新

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

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

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

enter image description here

如果有此支持,请指导我。

环境详情

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

的Server.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>

1 个答案:

答案 0 :(得分:1)

你在WAS ND上运行吗?

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

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

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

此外,您需要确保运行MFP的服务器具有对负载均衡器的网络访问权限(端口打开等)。

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

MobileFirst Administration的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