изменить раздел WebLogicHost или Location на основе файла cookie на сервере Oracle Oracle - PullRequest
1 голос
/ 07 июля 2019

Я хотел изменить WebLogicHost или раздел местоположения на основе http-cookie на oracle http server 12.1.3

Ниже приведена исходная рабочая конфигурация в mod_wl_ohs.conf

<Location /base>
     SetHandler weblogic-handler
        WebLogicHost x.x.2.16
        WebLogicPort 5051
        DynamicServerList ON
        WLIOTimeoutSecs 3600
    WLSocketTimeoutSecs 750
    ConnectRetrySecs 2
    ConnectTimeoutSecs 10
 </Location>
DynamicServerList ON

Для изменения местоположения на основе файлов cookie мои изменения показаны ниже, (mod_wl_ohs.conf)

RewriteEngine  on
#RewriteCond %{HTTP_COOKIE} LOC_Val=New-Loc [NC]
RewriteRule ^/base/(.*) /newbase/$1 [NC]

<Location /newbase>
     SetHandler weblogic-handler
        WebLogicHost x.x.2.50
        WebLogicPort 7071
        DynamicServerList ON
        WLIOTimeoutSecs 3600
    WLSocketTimeoutSecs 750
    ConnectRetrySecs 2
    ConnectTimeoutSecs 10
</Location>

<Location /base>
     SetHandler weblogic-handler
        WebLogicHost x.x.2.16
        WebLogicPort 5051
        DynamicServerList ON
        WLIOTimeoutSecs 3600
    WLSocketTimeoutSecs 750
    ConnectRetrySecs 2
    ConnectTimeoutSecs 10
 </Location>
DynamicServerList ON

Или проверка файлов cookie в разделе «Местоположение» (mod_wl_ohs.conf)

<Location /base>
  <If "%{HTTP_COOKIE} =~ /LOC_Val=New-Loc/">
     SetHandler weblogic-handler
        WebLogicHost x.x.2.50
        WebLogicPort 7071
        DynamicServerList ON
        WLIOTimeoutSecs 3600
    WLSocketTimeoutSecs 750
    ConnectRetrySecs 2
    ConnectTimeoutSecs 10
  </If>
  <Else>
     SetHandler weblogic-handler
        WebLogicHost x.x.2.16
        WebLogicPort 5051
        DynamicServerList ON
        WLIOTimeoutSecs 3600
    WLSocketTimeoutSecs 750
    ConnectRetrySecs 2
    ConnectTimeoutSecs 10
  </Else>
</Location>

В первом варианте запросы идут только к 2.16. В целях тестирования я попытался прокомментировать строку RewriteCond, но URL-запросы все еще идут в 2.16.

Для второго варианта сервер не запускается. Что не так?

Как изменить URL-адрес на основе значения файла cookie, чтобы запрос переадресовывался в раздел местоположения / newbase, равный 2,50

...