Environment / Setup
Problem DescriptionI am running OpenCloud behind an external Traefik reverse proxy configured with mTLS ( While browsing the web UI, navigating folders, and performing general actions work seamlessly (since the browser/client sends the required TLS client certificate), file uploads fail with HTTP status 500. Technical AnalysisLooking into the logs, when a file upload is initiated, the OpenCloud Because this request originates internally from the container/microservice itself, it does not present the required mTLS client certificate to Traefik. As a result, Traefik rejects the loopback request with a Anyone has tried to configure the mTLS with OpenCloud? Relevant LogsTraefik Access Log: {
"ClientAddr": "192.168.1.7:58811",
"DownstreamStatus": 500,
"OriginStatus": 500,
"RequestMethod": "POST",
"RequestPath": "/dav/spaces/f123............88",
"RouterName": "opencloud@docker",
"ServiceAddr": "172.18.0.21:9200",
"TLSClientSubject": "CN=XXXXXXX",
"TLSVersion": "1.3"
} |
Replies: 1 comment 1 reply
|
This looks like a server-to-server URL problem rather than a browser mTLS problem. The browser presents the client certificate, but the internal frontend/container call to the public data gateway does not, so Traefik rejects the loopback request with tls: certificate required before the upload can complete. A practical setup is:
Also check the OpenCloud version before changing the proxy. OpenCloud tracked the same external data-gateway callback pattern in #2860, including TUS PATCH requests being sent to the external data-gateway URL; that issue is marked done. If you are on an older release, upgrade to a current release first and retest. The frontend URL settings are documented here. |
This looks like a server-to-server URL problem rather than a browser mTLS problem. The browser presents the client certificate, but the internal frontend/container call to the public data gateway does not, so Traefik rejects the loopback request with tls: certificate required before the upload can complete.
A practical setup is: