Motivation
http://Backend.AI ’s authentication signature depends on the Date HTTP header:
However, when using Webserver as a proxy, it is currently impossible to forward the client’s original Date header to the upstream server, because the Request.fetch() method always refreshes and overrides the Date header as part of its internal behavior:
This prevents implementations that rely on Date-header–based signature authentication from functioning correctly behind a proxy.
Required Features
Extend Request.fetch() to support explicit header overrides, so that the caller can force specific values (e.g., Date) to be used instead of the internally refreshed ones.
Example usage:
request.fetch(
headers={
"Date": "Tue, 02 Sep 2025 08:00:00 GMT",
}
)
Impact
This would ensure that the provided Date header is preserved and passed through, enabling signature-based authentication behind proxies.
Testing Scenarios
JIRA Issue: BA-2257
Motivation
http://Backend.AI ’s authentication signature depends on the
DateHTTP header:backend.ai/src/ai/backend/common/auth/utils.py
Line 32 in f2afa38
However, when using Webserver as a proxy, it is currently impossible to forward the client’s original
Dateheader to the upstream server, because theRequest.fetch()method always refreshes and overrides theDateheader as part of its internal behavior:https://github.com/lablup/backend.ai/blob/f2afa387deea7bcb42d8f322ec4faf426f7ab626/src/ai/backend/web/proxy.py#L235
https://github.com/lablup/backend.ai/blob/f2afa387deea7bcb42d8f322ec4faf426f7ab626/src/ai/backend/client/request.py#L320
This prevents implementations that rely on
Date-header–based signature authentication from functioning correctly behind a proxy.Required Features
Extend
Request.fetch()to support explicit header overrides, so that the caller can force specific values (e.g.,Date) to be used instead of the internally refreshed ones.Example usage:
Impact
This would ensure that the provided
Dateheader is preserved and passed through, enabling signature-based authentication behind proxies.Testing Scenarios
JIRA Issue: BA-2257