Назад | Перейти на главную страницу

HAProxy - Перенаправление HTTPS для OAuth (Azure)

Мне нужна помощь в решении моей проблемы.

Я хочу достичь

http: //abc.contoso.com -> https: //abc.contoso.com (принудительное перенаправление HTTP на HTTPS)

Моя проблема в том, что URI, необходимый для конечной точки авторизации Azure OAuth 2.0, не соответствует.

Принятый URI в качестве пункта назначения при возврате ответов аутентификации (токенов) после успешной аутентификации пользователей должен быть: https://abc.contoso.com/signin-oidc

Но HAProxy отправляет HTTP-форму, как показано ниже:

https://login.microsoftonline.com/bdeebc-dd/oauth2/authorize?client_id=fd&redirect_uri = http% 3A% 2F% 2Fabc.contoso.com% 2Fsignin-oidc& response_type = id_token & scope = профиль openid & response_mode = form_post

Что мне делать, чтобы использовать форму HTTPS (redirect_uri = https% 3A% 2F% 2Fabc.contoso.com% 2Fsignin-oidc) вместо HTTP для OAuth?

Моя конфигурация

Внешний интерфейс

интерфейс public_front_end
привязка *: 80
режим http
вариант вперед
схема перенаправления https код 301 if! {ssl_fc}

интерфейс public_secured_front_end
привязка *: 443 ssl crt / etc / haproxy / certs

Бэкэнд

use_backend abc-api, если {hdr (хост) -i abc.contoso.com}

бэкэнд abc-api

режим http

HTTP-запрос добавить заголовок X-Forwarded-Proto https

server webserver01 192.168.0.1:4569 проверить

вариант вперед

Спасибо

Вам необходимо обновить приложение Azure AD, которое вы настроили для этой проверки подлинности, чтобы добавить URL-адрес ответа для конечной точки https.