Мультисайт с IBM HTTP Server

У меня есть два приложения, работающих на двух разных серверах IBM Liberty. Необходимо создать именованный виртуальный хост. Как это может быть достигнуто.

один в следующем месте: /opt/wlp/usr/servers/liberty1/apps/expanded/abc.war

Второй в следующем месте: /opt/wlp/usr/servers/liberty1/apps/expanded/def.war

В интерфейсе я запускаю HTTP-сервер IBM. Как настроить мультисайт. Если клиент обращается к www.common.com, то запрос должен быть обработан из Liberty1 с помощью приложения abc.war, а если клиент запрашивает www.newcommon.com, то запрос должен быть обработан из Liberty2 с помощью приложения def.war.

Сервер IBM Http работает на порту 80.


person P Darius    schedule 06.04.2018    source источник


Ответы (1)


Вот схема того, что нужно:

1) Создайте явный виртуальный хост на каждом сервере свободы.

L1:

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

L2:

<virtualHost id="newcommon">
    <hostAlias>www.newcommon.com:80</hostAlias>
    <hostAlias>www.newcommon.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.

сервер.xml:

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

ibm-web-bnd.xml:

 <virtual-host name="common"/>

3) Каждый сервер Liberty будет генерировать файл plugin-cfg.xml в каталоге logs/state/.

4) Используйте bin/pluginUtility в любой из Liberty, чтобы объединить два XML-файла вместе.

5) В итоговом объединенном файле должно быть указано несколько виртуальных хостов и несколько кластеров серверов с несколькими разделами <Route ...>, которые сопоставляют виртуальный хост и корень контекста URL с кластером серверов.

person covener    schedule 06.04.2018
comment
NameVirtualHost в httpd.conf здесь не нужно? Или это только в том случае, если вам нужны некоторые правила Apache, основанные на хосте? - person dbreaux; 06.04.2018
comment
@ковенер. спасибо Нужно ли нам настраивать файл IBM HTTP Server Httpd.conf для виртуального хоста после конфигурации server.xml или конфигурации в server.xml будет достаточно для маршрутизации запроса. Я только что прочитал следующую конфигурацию www-01.ibm.com/support/ docview.wss?uid=swg21592917 Пожалуйста, уточните. – @ - person P Darius; 06.04.2018
comment
Вам действительно не нужна конфигурация в IHS. DNS для этих имен хостов просто должен указывать на адрес, ведущий к IHS. На самом деле IHS не различает два имени хоста — это делает только подключаемый модуль WAS. ofc, если вы хотите, чтобы какое-то поведение IHS отличалось, вы должны следовать основам виртуального хоста на основе имени, чтобы сделать это - person covener; 06.04.2018
comment
@covener Привет, приложение не будет работать, когда конфигурация ‹web-bnd› будет выполнена, но если я удалю то же самое, приложение запустится отлично. что может быть причиной. - person P Darius; 07.04.2018
comment
@covener Более того, веб-приложение - это проект maven. - person P Darius; 07.04.2018
comment
пожимаю плечами, может быть, вы использовали неправильные значения? Я не думаю, что часть maven уместна. - person covener; 07.04.2018
comment
@ковенер. Произошла ошибка конфигурации в server.xml. Спасибо за ваш ценный вклад. - person P Darius; 17.04.2018