我需要帮助来解决我的问题。
我想要实现的是
http://abc.contoso.com ->https://abc.contoso.com(强制将 HTTP 重定向到 HTTPS)
我的问题是 Azure OAuth 2.0 授权端点所需的 URI 不匹配。
成功验证用户身份后,返回验证响应(令牌)时接受的作为目的地的 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)而不是 OAuth 的 HTTP?
我的配置是
前端
前端 public_front_end
绑定 *:80
模式 http
选项 forwardfor
重定向方案 https 代码 301 如果 !{ ssl_fc }前端 public_secured_front_end
bind *:443 ssl crt /etc/haproxy/certs
后端
use_backend abc-api if { hdr(主机) -i abc.contoso.com }
后端 abc-api
模式 http
http 请求添加标头 X-Forwarded-Proto https
服务器 webserver01 192.168.0.1:4569 检查
期权远期
谢谢
答案1
您需要更新已设置的 Azure AD 应用程序来执行此身份验证,以便为 https 端点添加回复 URL。