我们为身份验证响应定义了标头“ X-Auth-Info”, 目标是如果我们从auth服务获得此标头,则在配置代码片段检查中并重定向到其他站点,我们希望避免在上游服务中添加此行为。
不幸的是,这看起来不受支持,请参见以下nginx入口错误, 我可以在上游后端服务中获取此标头,无法确定它是否可以在nginx配置中获得?还是有什么可能的解决方案?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/auth-response-headers: X-Auth-Info
nginx.ingress.kubernetes.io/auth-snippet: proxy_set_header X-Original-URI $request_uri;
nginx.ingress.kubernetes.io/auth-url: 'http://auth.dev.versalinks.net/auth'
nginx.ingress.kubernetes.io/configuration-snippet: 'if ( $x_auth_info = "xyz1" ) { return 301 https://www.example.com;}'
nginx.ingress.kubernetes.io/service-weight: ''
nginx.ingress.kubernetes.io/use-regex: 'true'
2020/04/16 15:37:18 [notice] 8272#8272: ModSecurity-nginx v1.0.0
2020/04/16 15:37:18 [emerg] 8272#8272: unknown "x_auth_info" variable
nginx: [emerg] unknown "x_auth_info" variable