[
https://issues.apache.org/jira/browse/HDDS-17571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Attila Doroszlai updated HDDS-17571:
------------------------------------
Fix Version/s: 2.3.0
Resolution: Fixed
Status: Resolved (was: Patch Available)
> S3 Gateway returns 500 instead of 400 when Host matches no
> ozone.s3g.domain.name
> --------------------------------------------------------------------------------
>
> Key: HDDS-17571
> URL: https://issues.apache.org/jira/browse/HDDS-17571
> Project: Apache Ozone
> Issue Type: Bug
> Components: S3
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.3.0
>
>
> When {{ozone.s3g.domain.name}} is set and a request's Host header (port
> stripped) matches none of the configured domains, {{VirtualHostStyleFilter}}
> throws {{org.apache.hadoop.fs.InvalidRequestException}}. That is not an
> {{OS3Exception}}, so the client gets HTTP 500 with no S3 error body. The same
> happens for a virtual host style Host with no dot before the domain ("invalid
> format").
> AWS SDKs and S3A treat 500 as retryable, so a configuration mistake turns
> into a slow failure that looks like a hang. A common case is a gateway whose
> own FQDN is missing from the domain list: every path style request to it
> (including health probes such as {{HEAD /}}) fails with 500.
> Fix: keep rejecting the request, but return an S3 {{400 InvalidRequest}} (via
> {{S3ErrorTable}} / {{wrapOS3Exception}}, like {{AuthorizationFilter}}) naming
> the rejected host, so clients fail fast with a clear error. The configured
> domain list and the request URI are logged at debug level instead of being
> returned, since the client is not authenticated at this point.
> Treating an unmatched Host as path style instead was considered and rejected:
> a virtual host style request sent to an unlisted host name would then be read
> as a different operation (for example {{DELETE bucket.host/key}} would become
> DeleteBucket {{key}}).
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]