Commit Graph

12 Commits

Author SHA1 Message Date
Stefan Hacker 261482232c Add optional HTTP->HTTPS redirect per proxy target
Each target can now have an HTTP port with a checkbox to enable
automatic redirect to HTTPS. Configurable in WebUI and API.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:32:31 +02:00
Stefan Hacker 0206b5b73a Fix empty logs: replace nginx stdout/stderr symlinks with real files
nginx:alpine symlinks access.log/error.log to /dev/stdout and
/dev/stderr by default, so tail reads nothing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:23:04 +02:00
Stefan Hacker aec06591d5 Fix proxy: add buffers, timeouts, WebSocket map, logging, SSL passthrough
- Add proper proxy buffer sizes for large responses/headers
- Add connect/send/read timeouts
- Use connection_upgrade map for proper WebSocket handling
- Add access_log/error_log to dynamic server blocks
- Disable proxy_ssl_verify for HTTPS backend targets
- Add X-Forwarded-Host/Port headers
- Remove client_max_body_size limit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:18:12 +02:00
Stefan Hacker e147d4f670 Fix session loss by using stable secret key
Derive secret_key from credentials instead of random generation,
so sessions survive container restarts and work across workers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:10:21 +02:00
Stefan Hacker 6fadb73263 Replace Basic Auth with login page, add HTTP redirect and log viewer
- Session-based login page instead of HTTP Basic Auth
- /ca.crt download works without login for easy device access
- HTTP port (default 8080) redirects to HTTPS automatically
- Nginx access/error log viewer in WebUI
- API still supports Basic Auth for curl/scripts
- Logout button and log navigation in header

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:06:55 +02:00
Stefan Hacker 5a8770e973 Add README with CA install guides, add /ca.crt download endpoint
- Detailed CA import instructions for Chrome, Firefox, Android,
  iOS/iPadOS, macOS, Windows, Linux
- /ca.crt endpoint for easy browser download (no auth required)
- Download button in WebUI header

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:51:39 +02:00
Stefan Hacker cf97de7e63 Redirect HTTP to HTTPS on WebUI port
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:42:11 +02:00
Stefan Hacker eec22044b2 Remove default nginx port 80 config to fix bind conflict
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:38:52 +02:00
Stefan Hacker 411a8b8ddb Add HTTPS reverse proxy with self-signed 100-year cert
- Nginx reverse proxy with WebUI and REST API for configuration
- Self-signed SSL certificate with own CA (100 years validity)
- Domain-based and IP/port-based routing
- Docker setup with host network mode
- All settings configurable via .env

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:32:00 +02:00
Stefan Hacker 3d35e1ab92 Add .env to gitignore, keep .env.example as template
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:30:54 +02:00
Stefan Hacker 8c66512e81 Add .gitignore to exclude generated certs and data
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 15:05:09 +02:00
Stefan Hacker 3d4fca4d5b first commit 2026-04-09 15:01:24 +02:00