как настроить один порт для развертывания другого веб-приложения Java с «местоположением»?

#spring-boot #nginx-location

#пружинный ботинок #nginx-местоположение

Вопрос:

Я установил nginx 1.18.0. Вот часть файла nginx.conf .

     server {
        listen       8082;
        location /lc/ {
            proxy_pass   http://127.0.0.1:8080;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
                      }
        }
 

Когда я навещаю http://127.0.0.1:8082/lc , это дает правильный результат, но веб-приложение ответит перенаправлением на /login , поэтому URL-адрес изменится на http://127.0.0.1:8082/login , «lc» отсутствует.То же самое относится и к файлам js / css.

Комментарии:

1. Откуда берется «логин»? Здесь должна быть задействована какая-то другая конфигурация, или, возможно, поведение диктуется тем http://127.0.0.1:8082/lc , что на самом деле обслуживает. Можете ли вы показать нам или описать, что возвращает сервер при обращении к этой ссылке? Включена ли у вас какая-либо аутентификация в другой части вашей конфигурации Nginx? Появляется ли слово «login» где-нибудь в конфигурации или содержимом вашего сайта? Я думаю, что это необходимо. — Особенно интересен тот факт, что вы получаете ожидаемый результат, за исключением изменения URL.

2. Если не войти в систему, веб-приложение вернет перенаправление на /login . Например, без nginx, если я посещу 127.0.0.1:8080 , сервер ответит перенаправлением на 127.0.0.1:8080/login . В контроллере приложения spring-boot это просто return "redirect:/login"; .