Плагин обратного прокси WebSphere - пропуск доменов - PullRequest
0 голосов
/ 30 января 2020

Надеюсь, что кто-нибудь может дать мне несколько советов, если это возможно.

У нас в DMZ есть блок Linux с плагином WebSphere. Это указывает на поле Windows, на котором работает WebSphere Application Server.

Конфигурация httpd содержит только виртуальный хост по умолчанию без указания ServerAlias. В виртуальном хосте в httpd.conf настроено перенаправление для пересылки любых запросов на service.domain.com на service.domain.com / wascontext1 . Plugin-cfg. xml настроен на две группы uri: wascontext1 и wascontext2 , но активно используется только 1.

Я хочу использовать * Коробка 1035 * в качестве обратного прокси-сервера для другого приложения, полностью отделенного от WAS. Он будет иметь другой домен (например, dimsim.domain.com ), но будет указывать на тот же IP-адрес.

Я собирался добавить еще один виртуальный хост для этого, но не уверен, как именно подключаемый модуль WebSphere будет вести себя с этим. Из того, что я понимаю, если я настрою это и перейду на dimsim.domain.com / wascontext1 , он будет обслуживать содержимое WebSphere, поскольку httpd перенаправляет все запросы к плагину.

Есть ли способ сказать httpd не отправлять запросы к плагину WebSphere на основе доменного имени или виртуального хоста? Или можно будет переписать любые запросы к dimsim.domain.com / wascontext нормально?

спасибо

j c

EDIT Спасибо за ответы! Я протестирую изменение имени виртуального хоста в plugin-cfg. xml в нашем втором неиспользованном контексте и сообщу вам, как оно работает.

Ответы [ 4 ]

0 голосов
/ 18 февраля 2020

Извините за поздний ответ.

Ответ ковенера на установку следующего делает то, что мне нужно.

SetEnvIf Host ^dimsim\.domain\.com$ skipwas=1
0 голосов
/ 30 января 2020

Когда запрос поступает на веб-сервер, он передается плагину WebSphere, а затем плагин анализирует запрос на основе своей конфигурации, чтобы определить, следует ли ему переслать в WebSphere или передать обратно на веб-сервер для дальнейшей обработки.

Предложения «route» в plugin-cfg. xml являются ключом к определению того, что будет переслано, а что нет. Запрос должен соответствовать всем значениям в маршруте для пересылки. Маршрут содержит виртуальные хосты, Uris и кластеры. Запрос должен соответствовать одному виртуальному хосту из VirtualHostGroup в маршруте, URI из UriGroup в маршруте, и в значении маршрута ServerCluster должен быть доступный сервер для запроса, который будет отправлен в WebSphere.

Примечание-Если вы манипулируете своим плагином-cfg. xml для своей настройки, имейте в виду, что плагин очень чувствителен к формату этой конфигурации, и неправильные или недействительные записи могут вызвать взлом sh веб-сервера. Обязательно сделайте резервную копию файла и протестируйте его перед использованием в производстве. Кроме того, если вы измените конфигурацию WebSphere, он может перезаписать этот файл и стереть ваши изменения.

0 голосов
/ 31 января 2020

Решение, не требующее изменения plugin-cfg. xml: Если вы используете HTTP-сервер на основе Apache, вы можете условно установить переменную для каждого запроса "skipwas", чтобы замкнуть плагин WAS обработка.

например

SetEnvIf Host ^dimsim\.domain\.com$ skipwas=1
0 голосов
/ 30 января 2020

Если вы посмотрите на файл plugin-cfg.xml, в первой части файла вы найдете раздел virtualhostgroup, подобный следующему:

<VirtualHostGroup Name="default_host">
  <VirtualHost Name="*:9080"/>
  <VirtualHost Name="*:9443"/>
  <VirtualHost Name="*:443"/>
  <VirtualHost Name="*:80"/>
</VirtualHostGroup>

просто измените Name с * на нужное доменное имя, например service.domain.com, и тогда плагин будет пересылать только запросы на service.domain.com имя хоста.

Так что-то вроде:

<VirtualHost Name="service.domain.com:80"/>

должно работать для вас.

...