Поделиться через


Доступ к заголовкам HTTP, передаваемым приложениям Databricks

Databricks Apps передает определенные X-Forwarded-* заголовки HTTP из обратного прокси-сервера в приложение. Используйте эти заголовки для доступа к информации о исходном запросе, например IP-адрес клиента или протокол.

Приложения Databricks включают следующие X-Forwarded-* заголовки в запросах, которые пересылаются из обратного прокси-сервера в приложение:

Заголовок Описание
X-Forwarded-Host Исходный хост или домен, запрошенный клиентом.
X-Forwarded-Preferred-Username Имя пользователя, предоставленное поставщиком удостоверений личности.
X-Forwarded-User Идентификатор пользователя, предоставленный поставщиком удостоверений.
X-Forwarded-Email Адрес электронной почты пользователя, предоставленный поставщиком удостоверений.
X-Real-Ip IP-адрес клиента, от которого исходит оригинальный запрос клиента.
X-Request-Id Идентификатор UUID запроса.

Доступ к заголовкам в коде

Вы можете получить доступ к перенаправленным заголовкам в коде приложения с помощью объекта запроса, предоставленного веб-платформой. В приведенном ниже примере показано, как получить X-Forwarded-User заголовок с помощью популярных платформ Python:

Фляга

from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def index():
    user = request.headers.get("x-forwarded-user")
    return f"Hello, {user}!"

FastAPI

from fastapi import FastAPI, Request

app = FastAPI()

@app.get("/")
async def index(request: Request):
    user = request.headers.get("x-forwarded-user")
    return {"message": f"Hello, {user}!"}

Эти заголовки доступны только в том случае, если приложение выполняется в Databricks Apps. При локальном тестировании необходимо их имитировать или включать вручную.