HAProxy - перенаправить HTTPS для OAuth - PullRequest
0 голосов
/ 24 апреля 2020

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

Чего я хочу добиться, это

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% 2Fab c .contoso.com% 2Fsignin-oid c & response_type = id_token & scope = профиль openid & response_mode = form_post

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

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

frontend public_front_end
   bind *:80
   mode http
   option forwardfor
   redirect scheme https code 301 if !{ ssl_fc }

frontend public_secured_front_end
   bind *:443 ssl crt /etc/haproxy/certs
use_backend abc-api if { hdr(host) -i abc.contoso.com }

backend abc-api
mode http
http-request add-header X-Forwarded-Proto https
server webserver01 192.168.0.1:4569 check
option forwardfor

Спасибо

...