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:Nginx with Subdirectory
To serve Open WebUI athttps://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
CreateCaddyfile:
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