Мне нужна помощь для решения моей проблемы.
Чего я хочу добиться, это
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
Спасибо