Ssl oauth2_代理不请求身份验证
我正在尝试在kubernetes上设置oauth2_代理,以保护我的一个单页应用程序的安全,我使用github作为身份验证提供者。我发现这个链接很有用,我按照这个链接进行设置。 [ 我已经在github上创建了一个应用程序,并使用我的DNS名称代替HomePageURL和CallBackURL(替换为)因为我没有为auth.example.com生成TLS机密。而是为example.com生成TLS证书,因为该域属于我。我在nginx控制器中得到错误,该证书属于example.com而不是auth.example.com,因为这些URL已用于定义示例入口和oauth代理I这是我做前面提到的改变的基础 我的入口看起来像这样Ssl oauth2_代理不请求身份验证,ssl,kubernetes,oauth-2.0,kubernetes-ingress,nginx-reverse-proxy,Ssl,Kubernetes,Oauth 2.0,Kubernetes Ingress,Nginx Reverse Proxy,我正在尝试在kubernetes上设置oauth2_代理,以保护我的一个单页应用程序的安全,我使用github作为身份验证提供者。我发现这个链接很有用,我按照这个链接进行设置。 [ 我已经在github上创建了一个应用程序,并使用我的DNS名称代替HomePageURL和CallBackURL(替换为)因为我没有为auth.example.com生成TLS机密。而是为example.com生成TLS证书,因为该域属于我。我在nginx控制器中得到错误,该证书属于example.com而不是aut
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: oauth2-proxy
annotations:
kubernetes.io/tls-acme: "true"
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: oauth2-proxy
servicePort: 4180
path: /oauth2
tls:
- hosts:
- example.com
secretName: oauth-proxy-tls
我希望每当我单击example.com时,它都会显示github身份验证页面,但在我的情况下,它会直接给出服务在成功身份验证后应该给出的响应。我没有被要求提供凭据。此外,我在我的入口控制器日志中发现错误,如7 controller.go:753]获取服务“default/oauth2 proxy”的端点时出错:本地存储中没有与键“default/oauth2 proxy”匹配的对象
此外,我还尝试使用链接中提到的nginx.ingres.kubernetes.io/auth-url:进行替换,但对我不起作用。有人能解释为什么oauth2_代理不请求身份验证,而ingress直接为请求提供服务而不请求身份验证吗?在oauth main ingress yaml中声明的注释不正确。 根据说明,外部身份验证url的注释应为
nginx.ingress.kubernetes.io/auth-url: http://<oauth-service-url>
nginx.ingres.kubernetes.io/auth-url:http://
而不是
ingress.kubernetes.io/auth-url: http://<oauth-service-url>
ingres.kubernetes.io/auth-url:http://
oauth主入口yaml中声明的注释不正确。
根据说明,外部身份验证url的注释应为
nginx.ingress.kubernetes.io/auth-url: http://<oauth-service-url>
nginx.ingres.kubernetes.io/auth-url:http://
而不是
ingress.kubernetes.io/auth-url: http://<oauth-service-url>
ingres.kubernetes.io/auth-url:http://