kubernetes 入口外部授权:如何返回原始auth服务错误消息

nom7f22z  于 2023-04-20  发布在  Kubernetes
关注(0)|答案(1)|浏览(109)

我有一个nginx ingress,它可以完美地对微服务的传入请求进行身份验证。下面是入口定义:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: external-auth
  labels:
    name: external-auth
  annotations:
    nginx.ingress.kubernetes.io/auth-url: "http://auth-svc.default.svc.cluster.local:8000/auth"
spec:
  ingressClassName: nginx
  rules:
  - 
    http:
      paths:
      - path: "/"
        pathType: Prefix
        backend:
          service:
            name: microservice1
            port: 
              number: 8000

由于某些原因,我需要看到认证错误消息,而不是这个来自nginx的unauthorizedhtml:

<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx</center>
</body>
</html>

正如我在文档中所读到的,一些方法已经被提供了,比如让一些头通过。但是我很好奇,我如何让Ingress在不利用头的情况下传递原始的错误响应体。

cuxqih21

cuxqih211#

基于外部基本身份验证[参见1],一旦您使用无用户名/密码访问,您可能会遇到代码401。但如果您使用有效的用户名/密码进行测试,您可能会得到代码200的结果。您可以参考this链接了解此问题。
对于基本的身份验证配置,您还可以检查this link

相关问题