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