-
Notifications
You must be signed in to change notification settings - Fork 152
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Overview
When nginx-s3-gateway listens over http behind a reverse proxy configured with https the redirection is incorrect.
Try to access https://<URL>/some/path
results in 302
http://<URL>/some/path/
but expected is 302
https://<URL>/some/path/
Expected Behavior
Redirect to https with the ending /
Steps to Reproduce the Bug
My deployment with Kubernetes:
User Agent --https--> NGINX Ingress Controller --http--> NGINX S3 Gateway
Config:
S3_STYLE = path
ALLOW_DIRECTORY_LIST = true
APPEND_SLASH_FOR_POSSIBLE_DIRECTORY = true
Environment Details
- Built from master (oss / unprivileged) (01eed95)
- Target deployment platforms : local Kubernetes
- S3 backend implementation: Netapp StorageGrid
Additional Context
From default.conf the $scheme
is retrieved directly from the request.
But retrieving it from X-Froweded-Proto seems more correct in this case.
location @trailslash {
# 302 to request without slashes
# Adding a ? to the end of the replacement param in `rewrite` prevents it from
# appending the query string.
rewrite ^ $scheme://$http_host$uri/$is_args$query_string? redirect;
}
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working