Перенаправление с Apache на Tomcat и наоборот + Spring boot - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть простой веб-сайт, расположенный в ApacheHTTP, и приложение весенней загрузки, работающее на tomcat. Мой www.website.com указывает на мой Apache сервер, и мне нужно перенаправить все запросы, такие как: www.website.com/api/resources/, на tomcat. Мой провайдер серверов позволяет мне только перенаправлять, используя .htaccess в каталоге root моего сайта. Я написал вот что в этом файле .htaccess: RewriteRule (. ) https://xx.yyy.xxx.rrr: 8081 / myspringapp / $ 1 [P, L]

Примечание: мое весеннее приложение работает на tomcat внутри этого URL: https://xx.yyy.xxx.rrr: 8081 / myspringapp /

Первая проблема здесь, любая страница, которую я вызываю, будет перенаправлена ​​на Tomcat :( Например: www.website.com/contact.html ---> этот сайт c должен обслуживаться с apache http www.website.com/api/books/ ----> этот URL должен обслуживаться tomcat, так как я запрашиваю ресурсы json Обе страницы перенаправлено на tomcat за кулисами: https://xx.yyy.xxx.rrr: 8081 / myspringapp / contact. html но в моем браузере я все еще вижу www.website.com/contact.html https://xx.yyy.xxx.rrr: 8081 / myspringapp / api / books / но в моем браузере я все еще вижу www.website.com/api/books Здесь я ожидаю, что только ресурсы / api / * должны обслуживаться с tomcat и stati c страниц с apache http

Вторая проблема: I иметь сайт для входа в систему: www.website.com/login.html эта страница будет обслуживаться Tomcat, скрытно www.website.com/login.html звонки https://xx.yyy.xxx.rrr: 8081 / myspringapp / login. html Когда я ввожу учетные данные (имя пользователя + пароль), аутентификация кажется успешной, и мое весеннее приложение выполняет перенаправление следующим образом:

@ Override publi c void onAuthenticationSuccess (запрос HttpServletRequest, HttpServletResponse response, Authentication) аутентификация) выдает IOException, ServletException {

response.sendRedirect(request.getContextPath() +"/authenticated.html"); 

}

, который перенаправляет на www.website.com/myspringapp/authenticated.html, что указывает на https://xx.yyy.xxx.rrr: 8081 / myspringapp / myspringapp / аутентифицировано. html за кадром. Очевидно, что это не удастся, так как имя моего весеннего приложения будет повторяться дважды.

, если я войду в мое весеннее приложение непосредственно на tomcat следующим образом:

https://xx.yyy.xxx.rrr: 8081 / myspringapp /login.html

аутентификация работает, как и ожидалось: https://xx.yyy.xxx.rrr: 8081 / myspringapp / authenticated. html

я пробовал много вещей, но теперь у меня закончились идеи :( Надеюсь, кто-нибудь может мне помочь. Я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...