You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

oauth2-proxy本地Docker Compose部署转发上游服务提示Connection refused求助

问题根因

  • 本次连接拒绝错误由Docker容器网络寻址错误导致:localhost在容器网络命名空间内指向容器自身的回环地址,而非宿主机或同网络下的其他服务。你在oauth2-proxy配置中填写的上游地址http://localhost:4440,实际是尝试访问oauth2-proxy容器自身的4440端口,该端口在oauth2-proxy容器内没有服务监听,因此抛出连接拒绝错误。
  • 你在宿主机能正常访问http://localhost:4440,是因为你在docker-compose中配置了whoami服务的端口映射,将whoami容器的80端口映射到了宿主机的4440端口,该映射仅对宿主机网络生效,对容器内部网络不生效。
  • 额外配置笔误:你填写的OAUTH2_PROXY_COOKIE_DOMAINN参数多了一个末尾的N,属于拼写错误,虽不直接导致本次连接问题,但会导致cookie配置不生效,建议同步修正。

解决方案

修改docker-compose中oauth2-proxy的环境变量配置如下:

  1. 将上游地址改为同docker网络下的服务名寻址,whoami服务在容器内部监听的端口为80,因此OAUTH2_PROXY_UPSTREAMS修改为http://whoami:80
  2. 修正cookie domain参数拼写,同时cookie domain仅需要填写域名不需要带协议和端口,改为OAUTH2_PROXY_COOKIE_DOMAIN: "localhost"

修改后的配置片段参考:

environment:
  OAUTH2_PROXY_PROVIDER: keycloak-oidc
  OAUTH2_PROXY_CLIENT_ID: changeme
  OAUTH2_PROXY_CLIENT_SECRET: changeme
  OAUTH2_PROXY_OIDC_ISSUER_URL: https://<keycloak-host>/auth/realms/operations
  OAUTH2_PROXY_UPSTREAMS: "http://whoami:80"
  OAUTH2_PROXY_COOKIE_SECRET: q_6A1CtSYFi-GK9crHCKszRxQ2g9op7-DZ6ShUbzoyc=
  OAUTH2_PROXY_COOKIE_DOMAIN: "localhost"
  OAUTH2_PROXY_EMAIL_DOMAINS: "*"
  OAUTH2_PROXY_SSL_UPSTREAM_INSECURE_SKIP_VERIFY: "true"
  OAUTH2_PROXY_SSL_INSECURE_SKIP_VERIFY: "true"
  OAUTH2_PROXY_ERRORS_TO_INFO_LOG: "true"
  OAUTH2_PROXY_REDIRECT_URL: "http://localhost:4180/oauth2/callback"
  OAUTH2_PROXY_HTTP_ADDRESS: http://:4180

修改后重新启动服务即可正常转发请求。

内容的提问来源于stack exchange,提问作者Marian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:03