我有两个应用程序在两个不同的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端口运行。
答案 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>
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.xml4)使用Liberty中的bin / pluginUtility将两个XML文件合并在一起
5)生成的合并文件应该列出多个虚拟主机和多个ServerCluster,其中包含多个 <virtual-host name="common"/>
节,它们将虚拟主机和URL上下文根映射到ServerCluster。