Как я могу прочитать адрес сервера WebSEAL из запроса? - PullRequest
1 голос
/ 28 марта 2019

У меня есть Java-приложение, работающее на сервере Websphere.Приложение доступно только через разные серверы веб-печати, которые выполняют балансировку нагрузки и аутентификацию из разных зон интрасети.

Конечно, я также могу получить прямой доступ к приложению: https://server-old.intra/ApplicationROOT.

Следующая версия приложения будет размещена на новом сервере.Затем приложение доступно через новые узлы на тех же серверах веб-печати:

Конечно, также будет новый прямой URL: https://server-new.intra/ApplicationROOT

Теперь я хочу добавить информационную страницу в старое приложение, которая предоставляет новые URL-адреса для пользователей.Эта страница должна перенаправить на новую версию.Поскольку у нас разные веб-печати, я не буду жестко кодировать один URL-адрес в обратном направлении.Но когда я пытаюсь прочитать URL-адрес запроса с помощью HttpServletRequest#getRequestURL(), я получаю только прямой адрес сервера.

Можно ли получить адрес веб-печати вместо адреса сервера?

Изменить:

У меня есть какое-то решение, но мне оно не очень нравится.Это больше похоже на обходной путь.В настоящее время я использую javascript, чтобы прочитать URL веб-сайта и затем выполнить переадресацию:

<script type="text/javascript" >
        function redircetToNewUrl() {

            var port = window.location.port;
            if (port.length > 0) {
                port = ':' + port;
            } else {
                port = '';
            }

            var url = 'https://' + window.location.hostname + port + '/junction-new/ApplicationROOT';
            setTimeout(function f() {location.href = url;}, 30000);
        }
    </script>
    <BODY onload="redircetToNewUrl()">

Это работает нормально, но, как я уже сказал, мне это не очень нравится. Было бы лучшесоздать URL перенаправления с использованием Java в JSP.

...