我是 Kubernetes 的新手,我一直在学习 Ingress。在 Ingress 处处理 TLS 证书和身份验证的想法给我留下了深刻的印象。我添加了一个简单的静态文件服务器,并添加了证书管理器,所以我基本上有一个 HTTPS 静态网站。
我读到 NGINX 入口控制器可以与 oauth2 代理一起使用来处理入口处的身份验证。问题是我根本无法做到这一点。我可以确认我的 oauth2-proxy 部署服务和部署存在且正确 - 在 Pod 的日志中,我可以看到来自 NGINX 的请求,但我看不到它在 Azure B2C 上实际调用的 uri。每当我尝试访问我的服务时,我都会收到 500 内部错误 - 如果我将 /oath2/auth 地址放在浏览器中,我会收到“不支持请求中指定的范围‘openid’。”。但是,如果我在 Azure 中测试运行用户流,则测试 URL 还会指定“openid”并且它按预期运行。
我认为如果我能找出如何监控来自 Azure 的 oauth2-proxy 请求(即通过观察它的 uri 找出我的配置错误的地方),我可以解决这个问题 - 否则,也许已经这样做的人可以告诉我在哪里我在配置中出错了。
我的配置如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: oauth2-proxy
name: oauth2-proxy
namespace: default
spec:
replicas: 1
selector:
matchLabels:
k8s-app: oauth2-proxy
template:
metadata:
labels:
k8s-app: oauth2-proxy
spec:
containers:
- args:
- -provider=oidc
- -email-domain=*
- …Run Code Online (Sandbox Code Playgroud)