다음을 통해 공유


Databricks 앱에 전달된 HTTP 헤더 액세스

Databricks 앱은 역방향 프록시에서 앱으로 특정 X-Forwarded-* HTTP 헤더를 전달합니다. 이러한 헤더를 사용하여 클라이언트 IP 주소 또는 프로토콜과 같은 원래 요청에 대한 정보에 액세스합니다.

Databricks 앱은 역방향 프록시에서 앱으로 전달되는 요청에 다음 X-Forwarded-* 헤더를 포함합니다.

헤더 설명
X-Forwarded-Host 클라이언트에서 요청한 원래 호스트 또는 도메인입니다.
X-Forwarded-Preferred-Username IdP에서 제공하는 사용자 이름입니다.
X-Forwarded-User IdP에서 제공하는 사용자 식별자입니다.
X-Forwarded-Email IdP에서 제공하는 사용자 전자 메일입니다.
X-Real-Ip 원본에서 요청한 클라이언트의 IP 주소입니다.
X-Request-Id 요청의 UUID입니다.

코드의 액세스 헤더

웹 프레임워크에서 제공하는 요청 개체를 사용하여 앱 코드에서 전달된 헤더에 액세스할 수 있습니다. 아래 예제에서는 인기 있는 Python 프레임워크를 사용하여 헤더를 X-Forwarded-User 검색하는 방법을 보여 줍니다.

플라스크

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 내에서 실행되는 경우에만 사용할 수 있습니다. 로컬로 테스트할 때 시뮬레이션하거나 수동으로 포함해야 합니다.