bitnamicharts/oauth2-proxyOAuth2 Proxy 是一个反向代理和静态文件服务器,通过身份验证提供商(如 Google、GitHub 等)验证用户账户,支持基于电子邮件、域或组的访问控制。Bitnami 提供的此 Helm Chart 用于在 Kubernetes 集群中快速部署 OAuth2 Proxy,支持生产级别的配置管理、资源优化和安全加固,适用于为无身份验证机制的应用添加 OAuth2 认证层。
OAuth2 Proxy 项目概述
商标说明:本软件包由 Bitnami 打包,提及的商标分属各自公司所有,使用不意味着任何关联或背书。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/oauth2-proxy
添加 Helm 仓库(如未添加):
consolehelm repo add bitnami [***] helm repo update
部署 Helm Chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/oauth2-proxy
说明:需替换
REGISTRY_NAME和REPOSITORY_NAME。Bitnami 官方仓库示例:REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
验证部署:
consolehelm list # 查看 release 状态 kubectl get pods # 确认 OAuth2 Proxy Pod 运行正常
若需在非 Kubernetes 环境中使用,可直接通过 Docker 运行 Bitnami OAuth2 Proxy 镜像:
consoledocker run --name oauth2-proxy -p 4180:4180 \ -e OAUTH2_PROXY_CLIENT_ID=your-client-id \ -e OAUTH2_PROXY_CLIENT_SECRET=your-client-secret \ -e OAUTH2_PROXY_COOKIE_SECRET=your-cookie-secret \ -e OAUTH2_PROXY_UPSTREAMS=[***] \ -e OAUTH2_PROXY_PROVIDER=google \ -e OAUTH2_PROXY_EMAIL_DOMAINS=example.com \ bitnami/oauth2-proxy:latest
环境变量说明:
OAUTH2_PROXY_CLIENT_ID:OAuth 提供商的客户端 IDOAUTH2_PROXY_CLIENT_SECRET:OAuth 提供商的客户端密钥OAUTH2_PROXY_COOKIE_SECRET:用于加密 Cookie 的随机字符串(建议 32 字节)OAUTH2_PROXY_UPSTREAMS:需保护的上游服务地址OAUTH2_PROXY_PROVIDER:身份提供商(如github、azure等)OAUTH2_PROXY_EMAIL_DOMAINS:允许访问的电子邮件域(如example.com或*允许所有)
通过 Helm 部署时,可通过 --set 或 values.yaml 文件配置以下关键参数:
| 参数名称 | 描述 | 默认值 |
|---|---|---|
configuration.clientID | OAuth 客户端 ID | XXXXXXX |
configuration.clientSecret | OAuth 客户端密钥 | XXXXXXXX |
configuration.cookieSecret | 用于加密 Cookie 的密钥(建议通过 existingSecret 传入) | XXXXXXXXXXXXXXXX |
configuration.existingSecret | 包含客户端 ID、密钥和 Cookie 密钥的现有 Secret 名称 | "" |
configuration.provider | 身份提供商(如 google、github) | google |
configuration.emailDomains | 允许访问的电子邮件域(如 example.com、* 表示所有) | [] |
configuration.upstreams | 上游服务地址列表(如 [***]) | [] |
configuration.httpAddress | 监听地址和端口 | 0.0.0.0:4180 |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
service.type | Service 类型(ClusterIP/NodePort/Load***) | ClusterIP |
service.port | Service 暴露端口 | 80 |
ingress.enabled | 是否启用 Ingress | false |
ingress.hostname | Ingress 主机名 | oaut2-proxy.local |
ingress.tls | 是否启用 TLS | false |
ingress.annotations | Ingress 额外注解(如 cert-manager 配置) | {} |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
resources.requests.cpu | CPU 请求量 | 250m |
resources.requests.memory | 内存请求量 | 256Mi |
resources.limits.cpu | CPU 限制 | 500m |
resources.limits.memory | 内存限制 | 512Mi |
启用 Ingress 以通过域名访问 OAuth2 Proxy:
yamlingress: enabled: true hostname: oauth2-proxy.example.com tls: true annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod
OAuth2 Proxy 数据和配置存储在容器内 /bitnami 路径,可通过 PersistentVolumeClaim 持久化:
yamlpersistence: enabled: true storageClass: "standard" size: 1Gi accessModes: - ReadWriteOnce
添加额外 Sidecar 容器(如日志收集器、监控代理):
yamlsidecars: - name: fluent-bit image: bitnami/fluent-bit:latest imagePullPolicy: Always volumeMounts: - name: logs mountPath: /var/log/oauth2-proxy
通过亲和性规则控制 Pod 调度:
yamlpodAffinityPreset: soft podAntiAffinityPreset: soft nodeAffinityPreset: type: soft key: workload values: - auth-proxy
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,聚焦安全强化镜像:
latest 标签用于开发环境2.50.0)将在两周内从 docker.io/bitnami 迁移至 docker.io/bitnamilegacy,且不再更新详情参见 Bitnami Secure Images 公告。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务