FF 或 Chrome 中的单点登录在 IE 工作时创建 502 NGINX 错误

Single Sign On in FF or Chrome creates 502 NGINX Error while IE works

我有一个与单点登录集成的 Django、NGINX 设置。最近我们不得不更改域名,并且正在使用 Akamai 来欺骗新域名 URL,而旧域名仍然解析到我们的负载均衡器。

SSO 尝试登录在 IE 中成功,但在 Chrome 或 Firefox 中却出现 502 错误。

当 IE 登录时,oktapreview.com 中的 post 生成 302。

当它的 firefox 或 Chrome 时,oktapreview.com 有 3 个连续的 posts,每个都创建一个 502。前 2 个 posts 具有相同的时间戳和第三个是3-4秒后。对于 Firefox 和 Chrome,用户刷新后发现他们实际上已登录。

关于造成这种情况的原因有什么建议吗?为什么单点登录服务器有3条post的日志?为什么 IE(不是 edge,而是 IE)在 Chrome 和 FF 失败时工作?

对于未来的寻求者,这里是解决方案:

SSO 创建了一个巨大的 URL 字符串,它首先在其 HTTP 缓冲区中命中服务器。我的 NGINX 和 uWSGI http 缓冲区处于默认级别,每个大约 4kb。但是 Okta SSO 正在创建 URLs,它们本身就大约 20KB。我不得不为这两个软件扩展 HTTP 缓冲区,以防止将该字符串切成位。错误消息是无用的 500 错误,但已通过扩展缓冲区解决。简而言之,请记住 SSO 为 HTTP header 添加了很多内容。