具有IBM HTTP Server的多站点

时间:2018-04-06 14:13:12

标签: websphere ibmhttpserver

我有两个应用程序在两个不同的IBM Liberty服务器上运行。需要创建基于命名的虚拟主机。如何实现。

以下位置之一:/opt/wlp/usr/servers/liberty1/apps/expanded/abc.war

第二位于以下位置:/opt/wlp/usr/servers/liberty1/apps/expanded/def.war

在前端我正在运行IBM HTTP服务器。我该如何配置多站点。如果客户端访问www.common.com,则应使用应用程序abc.war从liberty1处理请求,如果客户端请求www.newcommon.com,则应使用应用程序def.war从liberty2处理请求。

IBM Http服务器在80端口运行。

1 个答案:

答案 0 :(得分:1)

以下是需要的概述:

1)在每个自由服务器中创建一个显式虚拟主机

L1:

var functions = require('firebase-functions');
var firebase = require('firebase');
var admin = require('firebase-admin');


var serviceAccount = require("../functions/file.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://app.firebaseio.com"
});

var config = {
    apiKey: "key",
    authDomain: "app.firebaseapp.com",
    databaseURL: "https://app.firebaseio.com",
    projectId: "appID",
    storageBucket: "app.appspot.com",
    messagingSenderId: "number"
};

firebase.initializeApp(config);
admin.initializeApp(functions.config().firebase);

L2:

<virtualHost id="common">
    <hostAlias>www.common.com:80</hostAlias>
    <hostAlias>www.common.com:443</hostAlias>
</virtualHost>

详细信息:https://www.ibm.com/support/knowledgecenter/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/cwlp_virtual_hosts_ovr.html

2)在相应的应用程序中,将应用程序绑定到新定义的虚拟主机

有两种方法,server.xml或ibm-web-bnd.xml

server.xml中:

<virtualHost id="newcommon">
    <hostAlias>www.newcommon.com:80</hostAlias>
    <hostAlias>www.newcommon.com:443</hostAlias>
</virtualHost>

IBM的Web-bnd.xml:

<webApplication contextRoot="/app1" id="app1"
        location="app1.war" name="app1">
        <web-bnd>
            <virtual-host name="common"></virtual-host>
        </web-bnd>
    </webApplication>

3)每个Liberty服务器都将在logs / state /目录

中生成plugin-cfg.xml

4)使用Liberty中的bin / pluginUtility将两个XML文件合并在一起

5)生成的合并文件应该列出多个虚拟主机和多个ServerCluster,其中包含多个 <virtual-host name="common"/> 节,它们将虚拟主机和URL上下文根映射到ServerCluster。