[Feature Request] Support split internal/external OIDC issuer URLs for reverse proxy setups #1742
herrschmidt
started this conversation in
Ideas
Replies: 1 comment
-
|
Does that make sense? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
OpenCloud currently requires the container to reach itself via the external HTTPS URL to validate the OIDC configuration. This fails when the reverse proxy (Traefik, Nginx, Caddy) runs on a different host, which is a common setup in homelab environments using Tailscale, Wireguard, or similar VPN solutions.
Current Behavior
Setup:
Configuration:
Error:
Root Cause:
https://cloud.example.com(external URL)cloud.example.com(domain is only configured on VPS)Attempted Workarounds (all failed)
1.
extra_hostswith localhostResult: Connection refused (no service on port 443)
2.
extra_hostswith VPS IPResult: Timeout loop (Container → VPS → Container → ...)
3.
PROXY_OIDC_REWRITE_WELLKNOWN: "true"Result: Only helps with client discovery, container still makes internal calls to external URL
4. HTTP OIDC Issuer
Result: Variable is ignored, container still uses external HTTPS URL
Proposed Solutions
Solution 1: Split Issuer URLs (Preferred)
Add support for separate internal/external OIDC issuer URLs:
How it would work:
OCIS_OIDC_ISSUER_INTERNALfor self-checksOCIS_OIDC_ISSUER(external URL) in.well-known/openid-configurationPrecedent: Keycloak, Authentik, and other OIDC providers already support this pattern:
Solution 2: Proxy-Aware Mode
Add option to skip external OIDC self-checks when behind reverse proxy:
How it would work:
X-Forwarded-*headers from trusted proxiesSolution 3: Flexible OIDC Issuer Aliases
Allow container to accept multiple issuer URLs as valid:
How it would work:
iss: https://cloud.example.comremain validiss: http://localhost:9200for internal callsWhy This Matters
Common Use Cases
Homelab with VPS Reverse Proxy
Multi-Server Deployments
Docker Swarm/Kubernetes
Comparison with Other Solutions
Nextcloud: ✅ Works perfectly
Seafile: ✅ Works perfectly
OpenCloud: ❌ Currently doesn't work
Environment
opencloudeu/opencloud-rolling:latestAdditional Context
Related Discussions
Multiple users have reported this issue, and maintainers acknowledge the problem but no solution exists:
Key insight: Maintainers acknowledge that the container must reach the external URL, but no workaround or configuration option exists for split-host setups where the reverse proxy runs on a different server via Tailscale/VPN/WireGuard.
Documentation
Beta Was this translation helpful? Give feedback.
All reactions