server {
listen 80;
server_name example.com www.example.com;
местоположение /консоль {
if ($request_method !~ ^(GET|POST)$) {
return 405 "Not allowed";
}
set $consolalb alb.backend;
proxy_pass http://$consolalb/workspace/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Custom-Forwarded-Proto $http_x_forwarded_proto;
proxy_cache_bypass $http_upgrade;
}
}
У меня есть сценарий, в котором запрос пользователя достигает нашего обратного прокси-сервера контейнера ngnix.www.example.com/consolи он должен быть перенаправлен на внутренний alb (например, alb.backend), а alb сопоставляется с сервером приложений Oracle Hyperion с контекстным путем /workspace.
с помощью указанной выше конфигурации я могу загрузить начальную страницу входа /workspace/index.jsp, а также получить дополнительные всплывающие окна с различными контекстными путями, получающие ошибку типа «страница не найдена». URL-адреса этих страниц выглядят так:www.example.com/interop,www.example.com/mypage.jspи т. д. во всех всплывающих окнах появляется ошибка «страница не найдена».
Мне нужно предложение, как переслатьwww.example.com/consolвходящий запрос пользователя на http://$consolalb/workspace/; в первый раз и последующие запросы pop на http://$consolalb/*
решение1
Ваше приложение генерирует URL-адреса в выводе, который оно создает. Поэтому вам необходимо настроить свое приложение на использование правильного базового URL-адреса, чтобы генерируемые им URL-адреса были правильными.