Skip to main content
Configure a reverse proxy to add SSL/TLS, load balancing, and additional security features to your Open WebUI deployment.

Why Use a Reverse Proxy?

  • SSL/TLS Termination: Handle HTTPS encryption at the proxy layer
  • Load Balancing: Distribute traffic across multiple instances
  • Security: Add authentication, rate limiting, and WAF rules
  • Caching: Improve performance with static asset caching
  • Multiple Services: Host multiple services on different paths/domains

Nginx

Basic Configuration

Create /etc/nginx/sites-available/open-webui:

Enable the Configuration

With Let’s Encrypt SSL

Use Certbot for free SSL certificates:
1

Install Certbot

2

Obtain Certificate

3

Auto-Renewal

Certbot automatically sets up renewal. Test it:

Nginx with Subdirectory

To serve Open WebUI at https://example.com/chat:

Apache

Basic Configuration

Create /etc/apache2/sites-available/open-webui.conf:

Enable Required Modules

Enable the Site

Caddy

Caddy automatically handles SSL certificates with Let’s Encrypt:

Basic Configuration

Create Caddyfile:

Advanced Configuration

Run Caddy

Traefik

Docker Compose with Traefik

docker-compose.yml

HAProxy

Basic Configuration

haproxy.cfg

Kubernetes Ingress

Nginx Ingress Controller

ingress.yaml

Traefik Ingress

Security Considerations

Rate Limiting (Nginx)

IP Whitelisting (Nginx)

Basic Authentication (Nginx)

Environment Variables for Proxied Setup

When behind a reverse proxy, configure these environment variables:

Troubleshooting

WebSocket Connection Issues

Ensure WebSocket upgrade headers are set:

Large File Uploads Failing

Increase client body size:

Timeout Errors

Increase proxy timeouts:

Check Proxy Logs

Next Steps

Environment Variables

Configure security and performance settings

Kubernetes

Kubernetes Ingress configuration

Docker

Docker deployment guide

Updating

Keep your deployment updated