F5 AI Gateway Open WebUI 통합 구성 가이드
이 포스트는 F5 AI Gateway, Open WebUI 를 연동하여, Open WebUI에서 전송한 OpenAI API 형식에 맞춘 요청을 F5 AI Gateway를 통해 제어, 보호하고, 백엔드 LLM으로 전달하는 구성 방식을 다룹니다.
백엔드에는 Ollama를 활용한 로컬 LLM 모델을 사용하며, 전체 요청 흐름은 다음과 같습니다:
Open WebUI → NGINX Ingress Controller → F5 AI Gateway → Ollama
목차
1. Open WebUI란?
2. F5 AI Gateway, Open WebUI 버전, 환경 정보
3. NGINX Ingress Controller 설정
4. F5 AI Gateway 설정
5. F5 AI Gateway 연동 Open WebUI 배포
6. 결론
1. Open WebUI란?

Open WebUI는 오픈소스 기반의 사용자 친화적인 챗봇 인터페이스로, 다양한 로컬 또는 원격 LLM(Large Language Model) 백엔드와 연동하여 자연어 기반의 대화를 가능하게 해주는 웹 프론트엔드입니다.
특히 Ollama, OpenAI API 호환 모델, LM Studio 등의 백엔드와 쉽게 연동되도록 설계되어 있으며, 사용자 인증, 멀티 세션 지원, 다양한 모델 설정 기능을 제공합니다.
Open WebUI는 다음과 같은 특징을 갖고 있습니다:
- 직관적인 사용자 인터페이스
웹 브라우저를 통해 누구나 쉽게 LLM과 대화할 수 있는 환경을 제공합니다. - 다양한 모델 연동 지원
OpenAI 호환 API, Ollama, LM Studio 등과 API 호환 형태로 연동할 수 있습니다. - 모델별 세부 설정
Temperature, Top-P, Context Length 등 다양한 하이퍼파라미터 조정 기능을 제공합니다. - 로컬 또는 원격 배포 가능
Docker 기반으로 쉽게 배포할 수 있으며, 프라이빗 환경에서 로컬 모델을 활용하는 데 적합합니다.
이 포스트에서는 Open WebUI를 F5 AI Gateway와 연동하여, 요청을 F5 AI Gateway를 통해 제어하고 보호하는 구성 방식에 대해 다룹니다.
2. F5 AI Gateway, Open WebUI 버전, 환경 정보
- Kubernetes: v1.32.2
- F5 AI Gateway: v1.0.2
- F5 AI Gateway Helm chart: aigw-0.1.1
- Open WebUI: v0.6.7
- Ollama: 0.6.5
전체 통신 구조는 다음과 같습니다.
OpenWebUI → NGINX Ingress Controller → F5 AI Gateway → Ollama
- NGINX Ingress Controller VirtualServer host : aigw.example.com
- Ollama : 192.168.200.129:11434
3. NGINX Ingress Controller 설정
NGINX Ingress Controller가 F5 AI Gateway로 요청을 전송하기 위해 VirtualServer를 다음과 같이 구성했습니다.
apiVersion: k8s.nginx.org/v1
kind: VirtualServer
metadata:
name: aigw-openweb
namespace: ai-gateway
spec:
host: aigw.example.com
upstreams:
- name: aigw
service: aigw
port: 80
connect-timeout: 240s
read-timeout: 240s
send-timeout: 240s
client-max-body-size: 512k
routes:
- path: /
action:
proxy:
upstream: aigw
간단하게 요청을 프록시하고, timeout 시간 및 요청의 body size를 조정하는 설정을 적용했습니다.
NGINX Ingress Controller와 F5 AI Gateway 통합에 활용할 수 있는 보다 상세한 구성 방법은 F5 AI Gateway Kubernetes NGINX Ingress Controller 통합 포스트를 참고하세요.
4. F5 AI Gateway 설정
F5 AI Gateway 설치 가이드 문서 방식으로 Helm을 사용하여 F5 AI Gateway를 설치하였으며, 아래의 설정 파일을 ConfigMap으로 배포하여 AI Gateway에 적용합니다. 이 구성은 Open WebUI의 요청을 수신한 후, 백엔드로 연결된 Ollama에 프록시하는 역할을 합니다.
각 설정 항목에 대한 자세한 설명은 F5 AI Gateway 설정 기초 가이드 포스트를 참고하세요.
Ollama를 설치하고 모델을 배포하는 방법은 Ollama 설치 및 생성형 AI 배포 포스트를 참고하세요.
version: 1
server:
address: :4141
logging:
level: debug
routes:
- path: /v1/chat/completions
policy: chat-policy
schema: v1/chat_completions
timeoutSeconds: 240
- path: /v1/models
policy: chat-policy
schema: v1/models
policies:
- name: chat-policy
profiles:
- name: chat-profile
profiles:
- name: chat-profile
models:
- name: hermes3:8b
inputStages:
- name: check-prompt-injection
steps:
- name: prompt-injection
services:
- name: ollama/hermes
selector:
type: input.model
values:
- hermes3:8b
services:
- name: ollama/hermes
type: hermes3:8b
executor: ollama
config:
endpoint: "http://192.168.200.129:11434/api/chat"
processors:
- name: prompt-injection
type: external
config:
endpoint: http://aigw-processors-f5.ai-gateway.svc.cluster.local
namespace: f5
version: 1
params:
threshold: 0.8
reject: true
항목별 구성은 다음과 같습니다.
routes:
- path: /v1/chat/completions # 요청 전송을 위한 path
policy: chat-policy
schema: v1/chat_completions
timeoutSeconds: 240
- path: /v1/models # 모델의 정보를 불러오기 위한 path
policy: chat-policy
schema: v1/models
policies:
- name: chat-policy
profiles:
- name: chat-profile
F5 AI Gateway가 요청을 수신할 path 구성입니다. Open AI API 형식에 맞춰서 구성합니다. timeoutSeconds 는 NGINX Ingress Controller와 동일하게 구성하여 느린 모델의 응답으로 인해 연결이 종료되는 것을 방지하고, schema를 통해 각 path의 요청/응답 스키마를 정의합니다.
profiles:
- name: chat-profile
models:
- name: hermes3:8b
inputStages: # 요청(input)에 적용할 F5 AI GW Processor
- name: check-prompt-injection
steps:
- name: prompt-injection
services:
- name: ollama/hermes
selector:
type: input.model
values:
- hermes3:8b
앞서 구성한 route를 통해 연결될 profile 설정입니다. models에 사용할 모델을 정의해야 앞서 구성한 /v1/models path에서 모델의 정보를 불러와 Open WebUI에서 확인할 수 있습니다.
$ curl aigw.example.com/v1/models
{"object":"models","data":[{"id":"hermes3:8b","object":"model"}]}
services에는 연결될 service를 명시하고, models에 정의한 모델 중 사용할 모델을 selector에 설정합니다.
services:
- name: ollama/hermes
type: hermes3:8b
executor: ollama
config:
endpoint: "http://192.168.200.129:11434/api/chat"
요청을 전달할 백엔드 LLM을 정의하는 services입니다. type에 사용할 모델을 명시하고, executor에 모델에 요청을 전송할 스키마 타입을 정의합니다. config에는 F5 AI Gateway가 요청을 전송할 LLM 모델의 엔드포인트를 명시합니다.
Ollama를 백엔드 LLM으로 사용하여 executor를 ollama로 설정하고, 엔드포인트도 Ollama API에 맞춰 /api/chat으로 설정합니다.
위와 같이 구성 시 아래와 같은 방식으로 통신합니다.
Open WebUI ---(Open AI API 요청)---> (NGINX Ingress Controller -- F5 AI Gateway) ---(Ollama API 요청)---> Ollama
Ollama를 백엔드 LLM으로 사용하더라도, F5 AI Gateway v1.0.2는 OpenAI API 규격에 따른 /v1/chat/completions 요청만을 처리할 수 있습니다. 따라서 클라이언트(Open WebUI)는 AI Gateway와의 호환을 위해, Ollama API 형식이 아닌 OpenAI API 형식으로 요청을 보내야 합니다. 백엔드로 보내는 요청의 스키마는 executor를 통해 구성됩니다.
5. F5 AI Gateway 연동 Open WebUI 배포
Open WebUI는 Docker를 사용하여 컨테이너로 배포했습니다.
$ sudo docker run -d -p 8080:8080 \
-v /opt/open-webui:/app/backend/data \
-e OPENAI_API_BASE_URLS="http://aigw.example.com/v1" \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
/opt/open-webui:/app/backend/data: Docker 호스트의 디렉터리를 컨테이너 내부 경로로 마운트하여, 재시작 시에도 대화 이력 등 설정이 유지됩니다.OPENAI_API_BASE_URLS="http://aigw.example.com/v1": F5 AI Gateway 통신을 위한 host를 지정합니다. Ollama의 LLM 모델을 사용하지만, F5 AI Gateway는 응답 스키마를 OpenAI API 형식으로 반환하여OPENAI_API_BASE_URLS변수를 통해 설정합니다.
변수를 통해 설정하지 않아도 배포 후 웹 UI에서 구성 가능합니다
최초 접속 시 관리자 계정을 생성하고 로그인할 수 있습니다.



우측 상단의 프로필 이미지를 클릭하여 관리자 패널로 이동합니다.

설정-연결 메뉴에서 OPENAI_API_BASE_URLS 변수를 통해 설정한 F5 AI Gateway 엔드포인트를 확인 및 수정할 수 있습니다.

/v1/models path 구성 및 연결이 정상적인 경우 위와 같이 Ollama에 배포된 모델을 확인할 수 있습니다.


F5 AI Gateway v1.0.2는 stream 응답을 아직 지원하지 않으므로, Open WebUI에서 스트림 채팅 응답 옵션을 반드시 꺼야 합니다. 설정하지 않을 경우, 요청 시 400 응답 오류가 발생합니다.

설정이 완료되면 Open WebUI를 통해 모델로 요청을 전송하고, 응답을 확인할 수 있습니다.
6. 결론
이 포스트에서는 Open WebUI와 Ollama, F5 AI Gateway를 연동하여 생성형 AI 모델 요청 흐름을 제어하는 구성 방식을 살펴보았습니다. Open WebUI는 사용자 친화적인 프론트엔드로서, Ollama는 백엔드 LLM 실행 환경으로 활용되며, 이 사이에 위치한 F5 AI Gateway는 정책 기반의 요청 제어 및 보안 검사를 담당합니다.
Open WebUI를 통해 별도 개발 없이 빠르게 챗봇 UI를 구성할 수 있으며, Ollama를 직접 호출하는 대신 F5 AI Gateway를 경유하도록 구성함으로써 OpenAI API 호환 요청에 대한 정밀한 트래픽 제어와 Prompt Injection 방어와 같은 보안 기능을 손쉽게 적용할 수 있다는 것이 큰 장점입니다.
운영 중인 AI 서비스에 강력한 보안이 필요하신가요? NGINX STORE를 통해 문의하여 F5 AI Gateway with NGINX Integration 서비스를 통해 AI 서비스를 보호하세요.
댓글을 달려면 로그인해야 합니다.