使用 nginx 作为反向代理和 keycloak 作为上游服务器的组合失败
Posted
技术标签:
【中文标题】使用 nginx 作为反向代理和 keycloak 作为上游服务器的组合失败【英文标题】:Combination of using nginx as a reverse proxy with keycloak as upstream server fails 【发布时间】:2018-05-04 20:44:49 【问题描述】:我们是 nginx 新手,正在尝试用它替换 httpd。 我们有以下 nginx 配置:
location /auth
proxy_pass http://keycloak_server$request_uri;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
这适用于提供对管理员门户的访问。但是,我们也使用 keycloak 对我们的应用程序进行身份验证,问题是 keycloak 以 302 重定向响应,但是 nginx 将其视为 502 bad gateway 错误。
apache httpd 可以正常工作。 我们做错了什么?任何指针或具体的配置指导将不胜感激。
【问题讨论】:
【参考方案1】:问题已解决。这是因为上游发送的标头太大。修改代理的缓冲区大小有效。
【讨论】:
以上是关于使用 nginx 作为反向代理和 keycloak 作为上游服务器的组合失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 nginx 反向代理后面的 keycloak 保护 nodejs 中的路由
在 EC2 上部署的 docker 中使用 flask_oidc 和 nginx 反向代理的烧瓶应用程序在使用 keycloak 进行身份验证后给出未授权错误