keycloak-gatekeeper触发cookie设为secure但重定向URL非TLS报错如何解决
keycloak-gatekeeper 报错排查与解决
报错根本原因
你遇到的[error] the cookie is set to secure but your redirection url is non-tls报错由两个配置冲突导致:
- keycloak-gatekeeper的会话Cookie默认开启
Secure属性(默认配置secure-cookie: true),如果开启了enable-refresh-tokens: true,该属性会被强制启用,要求Cookie只能在HTTPS协议下传输,不支持明文HTTP场景 - 你的配置中
redirection-url为http://localhost:8084/*,属于明文HTTP非TLS协议,同时未配置tls-cert、tls-private-key启用网关自身的TLS监听,不符合Secure Cookie的传输要求
可行解决方法
方案1:本地开发环境临时关闭Secure Cookie(仅推荐开发测试用,生产禁止使用)
直接在配置文件中新增一行配置,强制关闭Cookie的Secure属性:
secure-cookie: false
同时建议修正redirection-url的格式,该配置仅需填写基础重定向地址,不需要末尾加/*,修改为:
redirection-url: http://localhost:8084
方案2:生产环境启用TLS配置
- 准备合法的TLS证书与私钥文件,填写到配置中:
tls-cert: /path/to/your/domain.crt tls-private-key: /path/to/your/domain.key
- 将
redirection-url修改为对应的HTTPS地址:
redirection-url: https://你的业务域名:端口
内容的提问来源于stack exchange,提问作者Kshitij Tandon
相关产品推荐
相关产品推荐

