Рейтинг:0

Плохое перенаправление URI nginx

флаг cn

Я пытаюсь пройти аутентификацию на сервере keycloak, однако redirect_uri не имеет контекста (/admin/).

Nginx создает неправильный URI redirect_uri: hxxps://***.pt/auth/realms/example/protocol/openid-connect/auth?response_type=code&client_id=appmovel&redirect_uri=http%3A%2F%2Fnewservice%2F&state=... Поскольку в URL-адресе нет /admin/, это приводит к сбою обратного вызова.

конфигурационный файл nginx:

сервер {
    слушать 80 default_server;
    слушать [::]:80 default_server;
    имя сервера _;
    вернуть 301 https://$host$request_uri;
}

# HTTPS-сервер
сервер {
    слушать 443 ssl;
    имя_сервера локальный;

    ssl_certificate cert.pem;
    ssl_certificate_key cert.key;

    место расположения / {
        корень /usr/share/nginx/html;
        индекс index.html index.htm;
    }

    error_page 500 502 503 504 /50x.html;
    местоположение = /50x.html {
        корень /usr/share/nginx/html;
    }

    расположение /API {
        абсолютная_переадресация выключена;
        proxy_pass http://веб-сервис:8080/api;
    }

    местоположение /администратор/ {
        proxy_set_header Хост $host;
        прокси_перенаправление выключено;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://веб-сервис:8080/;
    }
}

Как и где мне настроить сохранение/добавление контекста (/admin) в redirect_uri? Можно ли сделать это с помощью правила перезаписи nginx?

флаг in
Скорее всего, перенаправление происходит с вашего сервера keycloak, а не с nginx. Настройте правильный baseurl в вашем keycloak.
флаг in
https://www.keycloak.org/docs/latest/server_installation/index.html#default-provider
Winter avatar
флаг cn
keycloak работает хорошо (это старая установка, которую другие приложения используют без проблем) проблема заключается в сервлете tomcat, который опубликован в ROOT и отображается nginx в /admin, поэтому, когда он пытается аутентифицироваться в keycloak, Nginx/tomcat отправляет неправильный адрес обратного вызова для keycloak, поскольку nginx только перезаписывает хост и не добавляет контекст /admin.
флаг us
Проблема все еще должна быть исправлена ​​в приложении, чтобы оно отправляло правильные URL-адреса в своих ответах.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.