HAL Переадресация браузера за обратным прокси не работает - PullRequest
0 голосов
/ 02 мая 2018

У меня есть приложение Spring Data REST с подключенным браузером HAL. Приложение работает на localhost:8080/app/, поэтому браузер HAL работает на localhost:8080/app/browser/index.html#/app/.

В браузере hal есть один файл java, который перенаправляет звонки на номера /app на /app/browser/dinex.html#/app. Этот файл: https://github.com/spring-projects/spring-data-rest/blob/master/spring-data-rest-hal-browser/src/main/java/org/springframework/data/rest/webmvc/halbrowser/HalBrowser.java

Теперь это приложение работает за обратным прокси (apache httpd). Там у меня есть следующие правила:

ProxyPass         /hal/ http://localhost:8080/app/
ProxyPassReverse  /hal/ http://server1/app/

Итак, запросы http://server1/hal/browser/index.html#/hal/ показывают работающий браузер HAL.

Однако запросы к http://server1/hal/ получат 302 (из приложения) с заголовком Location с http://server1/hal/browser/index.html#/app/. Это не сработает, потому что часть за #.

Мне кажется, я понимаю, что ProxyPassReverse не предназначен также для переписывания вещей, стоящих за хэштегом #.

Итак, в чем моя проблема? Браузер HAL неправильно добавляет хэштег в тег Location? Или это нормальное поведение и может ли Apache решить эту проблему?

...