server { listen 80; server_name _; # Replace _ with your domain if you have one # Reverse proxy for Open WebUI location / { proxy_pass http://open-webui:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # Required for WebSockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 900s; proxy_send_timeout 900s; } # Reverse proxy for vLLM server API # External access will be https://your.domain/vllm-api/ # For example, https://your.domain/vllm-api/v1/chat/completions location /vllm-api/ { proxy_pass http://vllm-server:8000/; # Note the trailing slash proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; proxy_read_timeout 900s; proxy_send_timeout 900s; } }