nginx - nginx 反向代理背后的 Keycloak:SAML 集成 invalid_destination
问题描述
我在端口 8081 上有 keycloak,由路径 /saml-sp 上的 443 上的 nginx 代理。我按照所有文档设置代理。众所周知的 open-id 端点检查和 IP 地址检查看起来都不错。
但是,我有一个 SAML 2 身份提供程序集成,在提交登录页面后失败。keycloak 日志中的错误是 invalid_destination,但 SAML 中的目标看起来与端点完全一样。我也将 fontendUrl 设置为外部地址。我一定错过了什么,但我不知道是什么。这是错误:
2020-10-02 08:55:36,888 WARN [org.keycloak.events] (default task-117) type=IDENTITY_PROVIDER_RESPONSE_ERROR, realmId=aerograph, clientId=null, userId=null, ipAddress=xxx.xxx.xxx.xxx, error=invalid_saml_response, reason=invalid_destination
这是我的 nginx 配置:
location /saml-sp/ {
client_max_body_size 1000m;
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
proxy_pass http://localhost:8081/;
}
谢谢你的帮助。
解决方案
推荐阅读
- angular - 如何在 Angular 7 中模拟 MatSidenav 类型的输入
- javascript - JQuery:我的表单正在提交,即使验证返回 false
- c# - c# Attribute 辅助方法的泛型
- android - 如何从 Android Q 中的 contentResolver.openFileDescriptor(Uri uri, String s) 获取媒体项 real_Path?
- python - 使用 Python 标记和标记 HTML 源代码
- c# - 通过 ICommands 删除按钮单击时的 ListBoxItem
- asp.net-core - 如何将使用局部视图创建的动态复杂对象绑定到视图模型中的集合属性
- c++ - 使用 OpenCV 映射 OpenGL
- templates - 如何从odoo中的取消链接按钮更改文本?
- azure-analysis-services - Azure Analysis Services 从本地 Oracle 数据库部署模型