Update architecture diagram to show public internet routing and HTTP vs HTTPS traffic
Changes:
- Added public internet layer showing HTTPS traffic flow
- Clarified that internal network uses HTTP (no SSL/TLS)
- Added traffic flow summary section
- Updated 'How It Works' section to explicitly mention HTTPS externally, HTTP internally
- Added 'Key Points' section explaining no double encryption
The diagram now clearly shows:
1. 🌐 Public Internet → HTTPS (ports 80/443)
2. Core Server (SSL termination)
3. Internal Network → HTTP (no encryption needed)
4. Additional Servers (direct port access)
This commit is contained in:
@@ -14,6 +14,12 @@ This guide explains the **current multi-server architecture** where:
|
|||||||
|
|
||||||
```
|
```
|
||||||
┌─────────────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ 🌐 PUBLIC INTERNET │
|
||||||
|
│ HTTPS Traffic (Ports 80/443 forwarded from router) │
|
||||||
|
└─────────────────────┬───────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
▼ HTTPS (SSL/TLS)
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
│ CORE SERVER │
|
│ CORE SERVER │
|
||||||
│ ┌────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
│ ┌────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
||||||
│ │ DuckDNS │ │ Traefik │ │ Authelia │ │ Core Services │ │
|
│ │ DuckDNS │ │ Traefik │ │ Authelia │ │ Core Services │ │
|
||||||
@@ -27,8 +33,8 @@ This guide explains the **current multi-server architecture** where:
|
|||||||
│ │ • Remote │ (YAML files)│ │
|
│ │ • Remote │ (YAML files)│ │
|
||||||
└──────────┼──────────────┼──────────────┼────────────────────────┘
|
└──────────┼──────────────┼──────────────┼────────────────────────┘
|
||||||
│ │ │
|
│ │ │
|
||||||
Ports │ HTTP/HTTPS │ │
|
│ HTTP (internal network) │
|
||||||
80/443 │ │ │
|
│ No SSL/TLS encryption │
|
||||||
▼ ▼ ▼
|
▼ ▼ ▼
|
||||||
┌─────────────────────────────────────────┐
|
┌─────────────────────────────────────────┐
|
||||||
│ ADDITIONAL SERVER (e.g., Pi) │
|
│ ADDITIONAL SERVER (e.g., Pi) │
|
||||||
@@ -43,6 +49,12 @@ This guide explains the **current multi-server architecture** where:
|
|||||||
(no local reverse proxy)
|
(no local reverse proxy)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Traffic Flow Summary
|
||||||
|
|
||||||
|
1. **Internet → Core**: HTTPS (ports 80/443 forwarded from router)
|
||||||
|
2. **Core → Additional**: HTTP (internal network, no encryption needed)
|
||||||
|
3. **Additional → Core**: HTTP (direct response to core Traefik)
|
||||||
|
|
||||||
# Deployment Process
|
# Deployment Process
|
||||||
|
|
||||||
## Step 1: Deploy Core Server
|
## Step 1: Deploy Core Server
|
||||||
@@ -71,21 +83,26 @@ From Dockge you can start/stop any of the stacks or containers.
|
|||||||
|
|
||||||
**No Port Forwarding Required**:
|
**No Port Forwarding Required**:
|
||||||
- Services are accessed through core server
|
- Services are accessed through core server
|
||||||
- Additional servers are "headless" - no external ports needed
|
|
||||||
|
|
||||||
## How It Works
|
## How It Works
|
||||||
|
|
||||||
### Traffic Flow
|
### Traffic Flow
|
||||||
|
|
||||||
1. **User accesses** `https://sonarr.yourdomain.duckdns.org`
|
1. **User accesses** `https://sonarr.yourdomain.duckdns.org` (HTTPS from internet)
|
||||||
2. **Core Traefik** receives request:
|
2. **Core Traefik** receives HTTPS request:
|
||||||
- Checks Authelia for authentication (SSO)
|
- Checks Authelia for authentication (SSO)
|
||||||
- Routes to additional server: `http://192.168.1.100:8989` (via YAML config)
|
- Routes to additional server: `http://192.168.1.100:8989` (HTTP internally)
|
||||||
3. **Additional server** receives direct HTTP request:
|
3. **Additional server** receives direct HTTP request:
|
||||||
- Service container receives request on exposed port
|
- Service container receives request on exposed port
|
||||||
- If stopped, Sablier starts the container
|
- If stopped, Sablier starts the container
|
||||||
- Shows loading page while container starts
|
- Shows loading page while container starts
|
||||||
4. **Service responds** directly back to core Traefik, then to user
|
4. **Service responds** directly back to core Traefik via HTTP, then HTTPS to user
|
||||||
|
|
||||||
|
### Key Points
|
||||||
|
|
||||||
|
- **External Traffic**: Always HTTPS (SSL/TLS encrypted)
|
||||||
|
- **Internal Traffic**: Always HTTP (no encryption needed on local network)
|
||||||
|
- **No Double Encryption**: Core Traefik terminates SSL, forwards plain HTTP internally
|
||||||
|
|
||||||
### Service Registration
|
### Service Registration
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user