我有一个简单的静态HTML网站,运行在Openshift(又名Kubernetes)上的Nginx pod中,我想使用Oauth代理(我关注了this guide)和Keycloak作为SSO提供程序来保护它。但是,如果我浏览我的网站,我什么也没有得到(* 应用程序当前不在此端点上服务请求。*),如果我查看oauth2-proxy
的容器日志,我没有看到任何内容:
[oauthproxy.go:166] OAuthProxy configured for Keycloak Client ID: documentation
[oauthproxy.go:172] Cookie settings: name:_oauth2_proxy secure(https):true httponly:true expiry:168h0m0s domains: path:/ samesite: refresh:disabled
我已经被困在这一个星期了,所以我想也许你可以看到一些简单的我忽略了。
html页面和oauth2-proxy的部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: oauth-documentation
namespace: documentation
labels:
name: oauth-documentation
spec:
replicas: 1
selector:
matchLabels:
name: documentation
template:
metadata:
labels:
name: documentation
spec:
containers:
- name: documentation-page
image: de.icr.io/moddsp/documentation_page
ports:
- name: doc-auth
containerPort: 8080
- name: oauth-proxy
image: quay.io/oauth2-proxy/oauth2-proxy:latest
args:
- --provider=keycloak
- --client-id=documentation
- --client-secret=
- --login-url=https://keycloak.bla.bla/auth/realms/dsp/protocol/openid-connect/auth
- --keycloak-group=admins
- --session-store-type=cookie
- --cookie-secure=true
- --cookie-secret=
- --http-address=0.0.0.0:4180
- --email-domain=bla.bla
ports:
- name: oauth-proxy
containerPort: 4180
protocol: TCP
路线定义
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: documentation-authenticated
namespace: documentation
labels:
name: oauth-documentation
spec:
host: >-
documentation-authenticated.bla.bla
to:
kind: Service
name: oauth-documentation
port:
targetPort: proxy
tls:
termination: reencrypt
insecureEdgeTerminationPolicy: Redirect
路由指向的服务:
apiVersion: v1
kind: Service
metadata:
name: oauth-documentation
namespace: documentation
annotations:
service.alpha.openshift.io/serving-cert-secret-name: documentation-tls
spec:
ports:
- name: proxy
port: 4180
protocol: TCP
targetPort: oauth-proxy
- name: documentation-page
port: 8080
protocol: TCP
targetPort: documentation
selector:
name: documentation
sessionAffinity: None
type: ClusterIP
所以我在想:
1.路由不指向服务
1.服务不指向 oauth2-proxy 部署
1.部署的 oauth-proxy 配置错误
但我看不出这三个有什么不对。你能帮我修改一下配置,让oauth可以访问吗?
1条答案
按热度按时间sxissh061#
实际上,服务选择器似乎是错误的:您正在通过使用
这意味着您正在寻找一个目标部署/pod,其标签部分如下所示
而不是这样
所以,也许你可以尝试更改部署标签,看看是否有什么变化?