nginx 入口注释以重定向到身份验证并获取标头



我有下面的nginx conf文件将所有请求(默认情况下(重定向到/auth(我的服务(,然后返回响应标头(foo_id(。此标头将转发到用户触发的原始请求 URI。下面与nginx一起工作。 ...

location / 
{
auth_request /auth;
auth_request_set $foo_id $upstream_http_foo_id;
proxy_pass    $request_uri
proxy_set_header X-foo-Token $foo_id;
root   html;
index  index.html index.htm;
}
location /auth 
{
internal;
proxy_pass   https://myhost/myservice;
proxy_pass_request_body off;
proxy_set_header        Content-Length "";
proxy_set_header        X-Original-URI $request_uri;
}

但是我需要实现上述用例所需的相应入口规则/注释。我无法获得相应的身份验证/代理传递相关注释。请帮忙。

您可以使用 Nginx 入口注释来实现此目标。

简而言之:

假设您有一个外部身份验证服务,该服务配置了 Kubernetes 服务。 您需要一个注释,该注释将身份验证请求发送到此服务:

nginx.ingress.kubernetes.io/auth-url: http://auth-service.<NameSpace>.svc.cluster.local/auth

此外,您可以使用nginx.ingress.kubernetes.io/auth-snippet注释来设置身份验证请求的自定义配置,例如

nginx.ingress.kubernetes.io/auth-snippet: |
auth_request_set $foo_id $upstream_http_foo_id;
proxy_pass    $request_uri
proxy_set_header X-foo-Token $foo_id;

如果需要在成功身份验证时返回一些标头,可以使用nginx.ingress.kubernetes.io/auth-response-headers

nginx.ingress.kubernetes.io/auth-response-headers:  X-Auth

并且,nginx.ingress.kubernetes.io/auth-signin指定自定义错误页面

相关内容

  • 没有找到相关文章

最新更新