s3: disable signing Accept-Encoding for Ceph and Linode - fixes #8206
Ceph RGW (and Linode Object Storage, which is Ceph-backed) can break SigV4 when Accept-Encoding is included in the signature, especially when a reverse proxy rewrites that header. GCS already sets this quirk; apply the same default for Ceph and Linode as suggested in #8206.
This commit is contained in:
@@ -19,3 +19,7 @@ quirks:
|
|||||||
force_path_style: true
|
force_path_style: true
|
||||||
list_url_encode: false
|
list_url_encode: false
|
||||||
use_already_exists: false
|
use_already_exists: false
|
||||||
|
# Ceph RGW (and reverse proxies such as Cloudflare in front of it) can
|
||||||
|
# mutate Accept-Encoding and break SigV4 when that header is signed.
|
||||||
|
# See: https://github.com/rclone/rclone/issues/8206
|
||||||
|
sign_accept_encoding: false
|
||||||
|
|||||||
@@ -24,3 +24,8 @@ endpoint:
|
|||||||
us-iad-10.linodeobjects.com: Washington, DC, US (us-iad-10)
|
us-iad-10.linodeobjects.com: Washington, DC, US (us-iad-10)
|
||||||
acl: {}
|
acl: {}
|
||||||
bucket_acl: true
|
bucket_acl: true
|
||||||
|
quirks:
|
||||||
|
# Linode Object Storage is Ceph-backed; signing Accept-Encoding causes
|
||||||
|
# SignatureDoesNotMatch with rclone 1.68+. Match the Ceph quirk.
|
||||||
|
# See: https://github.com/rclone/rclone/issues/8206
|
||||||
|
sign_accept_encoding: false
|
||||||
|
|||||||
@@ -5159,6 +5159,12 @@ parameter `--s3-upload-cutoff 0` or put this in the config file as
|
|||||||
`upload_cutoff 0` to work around a bug which causes uploading of small
|
`upload_cutoff 0` to work around a bug which causes uploading of small
|
||||||
files to fail.
|
files to fail.
|
||||||
|
|
||||||
|
Rclone defaults `sign_accept_encoding` to false for the Ceph provider.
|
||||||
|
That avoids `SignatureDoesNotMatch` errors when a reverse proxy (for
|
||||||
|
example Cloudflare) rewrites the `Accept-Encoding` request header. You
|
||||||
|
can override this with `--s3-sign-accept-encoding` / `sign_accept_encoding`
|
||||||
|
if needed.
|
||||||
|
|
||||||
Note also that Ceph sometimes puts `/` in the passwords it gives
|
Note also that Ceph sometimes puts `/` in the passwords it gives
|
||||||
users. If you read the secret access key using the command line tools
|
users. If you read the secret access key using the command line tools
|
||||||
you will get a JSON blob with the `/` escaped as `\/`. Make sure you
|
you will get a JSON blob with the `/` escaped as `\/`. Make sure you
|
||||||
@@ -7477,6 +7483,10 @@ secret_access_key = SECRET_ACCESS_KEY
|
|||||||
endpoint = eu-central-1.linodeobjects.com
|
endpoint = eu-central-1.linodeobjects.com
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Linode Object Storage is Ceph-backed. Rclone defaults
|
||||||
|
`sign_accept_encoding` to false for this provider so SigV4 requests do
|
||||||
|
not fail with `SignatureDoesNotMatch` (see the [Ceph](#ceph) section).
|
||||||
|
|
||||||
### Magalu {#magalu}
|
### Magalu {#magalu}
|
||||||
|
|
||||||
Here is an example of making a [Magalu Object Storage](https://magalu.cloud/object-storage/)
|
Here is an example of making a [Magalu Object Storage](https://magalu.cloud/object-storage/)
|
||||||
|
|||||||
Reference in New Issue
Block a user