You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The bug occurs when S3 signatures are used in combination with HTTP/2. This (IIRC) is currently not possible with AWS S3, but some other vendors or custom implementation may run into this.
The combination produces the special :authority: HTTP/2 pseudo-header as well as the Host header. Some server or middleware implementation don't like that, e.g. Nginx will return a "bad request" and emit the log (here the host was localhost:9999:
Note that the header is not really duplicate. It's likely that Nginx internally renames :authority to Host and then trips over it. Also see https://trac.nginx.org/nginx/ticket/2268 .
To Reproduce
use object_store::{
aws::AmazonS3Builder,ClientOptions,};let store = AmazonS3Builder::new().with_client_options(ClientOptions::new().with_http2_only()).with_region(...).with_access_key_id(...).with_secret_access_key(...).build().unwrap();
store.get(...).await.unwrap();
Expected behavior
Additional context
I think the culprit is this bit here:
Describe the bug
The bug occurs when S3 signatures are used in combination with HTTP/2. This (IIRC) is currently not possible with AWS S3, but some other vendors or custom implementation may run into this.
The combination produces the special
:authority:
HTTP/2 pseudo-header as well as theHost
header. Some server or middleware implementation don't like that, e.g. Nginx will return a "bad request" and emit the log (here the host waslocalhost:9999
:Note that the header is not really duplicate. It's likely that Nginx internally renames
:authority
toHost
and then trips over it. Also see https://trac.nginx.org/nginx/ticket/2268 .To Reproduce
Expected behavior
Additional context
I think the culprit is this bit here:
arrow-rs/object_store/src/aws/credential.rs
Lines 157 to 159 in 97ae9d7
Of course one could argue that
reqwest
orh2
should de-duplicate the headers properly.The text was updated successfully, but these errors were encountered: