mirror of
https://github.com/open-webui/docs.git
synced 2026-01-03 02:09:51 +07:00
Update https-encryption.md
This commit is contained in:
@@ -5,54 +5,59 @@ title: "Enabling HTTPS Encryption"
|
||||
|
||||
# Secure Your Open WebUI with HTTPS 🔒
|
||||
|
||||
This guide explains how to enable HTTPS encryption for your Open WebUI instance. While **HTTPS is not strictly required** for basic operation, it's highly recommended for security and is **necessary for certain features like Voice Calls** to function in modern web browsers.
|
||||
While **HTTPS is not strictly required** for basic local operation, it is **highly recommended** for all deployments and **mandatory** for enabling specific features like Voice Calls.
|
||||
|
||||
:::warning Critical Feature Dependency
|
||||
Modern browsers require a **Secure Context** (HTTPS) to access the microphone.
|
||||
**Voice Calls will NOT work** if you access Open WebUI via `http://` (unless using `localhost`).
|
||||
:::
|
||||
|
||||
## Why HTTPS Matters 🛡️
|
||||
|
||||
HTTPS (Hypertext Transfer Protocol Secure) encrypts communication between your web browser and the Open WebUI server. This encryption provides several key benefits:
|
||||
Enabling HTTPS encryption provides essential benefits:
|
||||
|
||||
- **Privacy and Security:** Protects sensitive data like usernames, passwords, and chat content from eavesdropping and interception, especially on public networks.
|
||||
- **Integrity:** Ensures that data transmitted between the browser and server is not tampered with during transit.
|
||||
- **Feature Compatibility:** **Crucially, modern browsers block access to certain "secure context" features, such as microphone access for Voice Calls, unless the website is served over HTTPS.**
|
||||
- **Trust and User Confidence:** HTTPS is indicated by a padlock icon in the browser address bar, building user trust and confidence in your Open WebUI deployment.
|
||||
1. **🔒 Privacy & Security**: Encrypts all data between the user and the server, protecting chat history and credentials.
|
||||
2. **🎤 Feature Unlocking**: Enables browser restrictions for Microphone (Voice Mode) and Camera access.
|
||||
3. **💪 Integrity**: Ensures data is not tampered with in transit.
|
||||
4. **✅ Trust**: Displays the padlock icon, reassuring users that the service is secure.
|
||||
|
||||
**When is HTTPS Especially Important?**
|
||||
## Choosing Your Solution 🛠️
|
||||
|
||||
- **Internet-Facing Deployments:** If your Open WebUI instance is accessible from the public internet, HTTPS is strongly recommended to protect against security risks.
|
||||
- **Voice Call Feature:** If you plan to use the Voice Call feature in Open WebUI, HTTPS is **mandatory**.
|
||||
- **Sensitive Data Handling:** If you are concerned about the privacy of user data, enabling HTTPS is a crucial security measure.
|
||||
The best method depends on your infrastructure.
|
||||
|
||||
## Choosing the Right HTTPS Solution for You 🛠️
|
||||
### 🏠 For Local/Docker Users
|
||||
If you are running Open WebUI with Docker, the standard approach is to use a **Reverse Proxy**. This sits in front of Open WebUI and handles the SSL encryption.
|
||||
|
||||
The best HTTPS solution depends on your existing infrastructure and technical expertise. Here are some common and effective options:
|
||||
* **[Nginx](../../../tutorials/https/nginx.md)**: The industry standard. Highly configurable, great performance.
|
||||
* **[Caddy](../../../tutorials/https/caddy.md)**: **Easiest option**. Automatically obtains and renews Let's Encrypt certificates with minimal config.
|
||||
* **[HAProxy](../../../tutorials/https/haproxy.md)**: Robust choice for advanced load balancing needs.
|
||||
|
||||
- **Cloud Providers (e.g., AWS, Google Cloud, Azure):**
|
||||
- **Load Balancers:** Cloud providers typically offer managed load balancers (like AWS Elastic Load Balancer) that can handle HTTPS termination (encryption/decryption) for you. This is often the most straightforward and scalable approach in cloud environments.
|
||||
- **Docker Container Environments:**
|
||||
- **Reverse Proxies (Nginx, Traefik, Caddy):** Popular reverse proxies like Nginx, Traefik, and Caddy are excellent choices for managing HTTPS in Dockerized deployments. They can automatically obtain and renew SSL/TLS certificates (e.g., using Let's Encrypt) and handle HTTPS termination.
|
||||
- **Nginx:** Highly configurable and widely used.
|
||||
- **Traefik:** Designed for modern microservices and container environments, with automatic configuration and Let's Encrypt integration.
|
||||
- **Caddy:** Focuses on ease of use and automatic HTTPS configuration.
|
||||
- **Cloudflare:**
|
||||
- **Simplified HTTPS:** Cloudflare provides a CDN (Content Delivery Network) and security services, including very easy HTTPS setup. It often requires minimal server-side configuration changes and is suitable for a wide range of deployments.
|
||||
- **Ngrok:**
|
||||
- **Local Development HTTPS:** Ngrok is a convenient tool for quickly exposing your local development server over HTTPS. It's particularly useful for testing features that require HTTPS (like Voice Calls) during development and for demos. **Not recommended for production deployments.**
|
||||
### ☁️ For Cloud Deployments
|
||||
* **Cloud Load Balancers**: (AWS ALB, Google Cloud Load Balancing) often handle SSL termination natively.
|
||||
* **Cloudflare Tunnel**: Excellent for exposing localhost to the web securely without opening ports.
|
||||
|
||||
**Key Considerations When Choosing:**
|
||||
### 🧪 For Development
|
||||
* **Ngrok**: Good for quickly testing Voice features locally. *Not for production.*
|
||||
|
||||
- **Complexity:** Some solutions (like Cloudflare or Caddy) are simpler to set up than others (like manually configuring Nginx).
|
||||
- **Automation:** Solutions like Traefik and Caddy offer automatic certificate management, which simplifies ongoing maintenance.
|
||||
- **Scalability and Performance:** Consider the performance and scalability needs of your Open WebUI instance when choosing a solution, especially for high-traffic deployments.
|
||||
- **Cost:** Some solutions (like cloud load balancers or Cloudflare's paid plans) may have associated costs. Let's Encrypt and many reverse proxies are free and open-source.
|
||||
## 📚 Implementation Guides
|
||||
|
||||
## 📚 Explore HTTPS Tutorials
|
||||
Ready to set it up? Check out our dedicated tutorial category for step-by-step configurations:
|
||||
|
||||
We have dedicated step-by-step guides for setting up reverse proxies with HTTPS:
|
||||
<div className="card-grid">
|
||||
|
||||
* **[Nginx](../../../tutorials/https/nginx.md)**: Industry-standard high-performance server.
|
||||
* **[Caddy](../../../tutorials/https/caddy.md)**: Easiest setup with automatic HTTPS.
|
||||
* **[HAProxy](../../../tutorials/https/haproxy.md)**: Robust load balancer and proxy.
|
||||
<a className="card" href="../../../tutorials/https/nginx">
|
||||
<h3>Nginx Setup</h3>
|
||||
<p>Manual control and high performance.</p>
|
||||
</a>
|
||||
|
||||
These tutorials provide specific configuration examples to get your secure Open WebUI instance running quickly.
|
||||
<a className="card" href="../../../tutorials/https/caddy">
|
||||
<h3>Caddy Setup</h3>
|
||||
<p>Zero-config automatic HTTPS.</p>
|
||||
</a>
|
||||
|
||||
By implementing HTTPS, you significantly enhance the security and functionality of your Open WebUI instance, ensuring a safer and more feature-rich experience for yourself and your users.
|
||||
<a className="card" href="../../../tutorials/https/">
|
||||
<h3>📂 View All HTTPS Tutorials</h3>
|
||||
<p>Browse the full category of guides.</p>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user