Initial release: ComfyUI HTTPS Bridge node

This commit is contained in:
caissonfiv
2026-03-26 18:13:26 +08:00
parent 14b7ef198b
commit 854012ffdf
+99
View File
@@ -0,0 +1,99 @@
# ComfyUI HTTPS Bridge
A ComfyUI custom node that automatically starts a local HTTPS proxy server, enabling web applications deployed on public HTTPS pages to securely connect to your local ComfyUI instance.
## The Problem
Modern browsers block connections from HTTPS pages to HTTP endpoints (mixed content policy). This means if you use a ComfyUI web UI hosted on `https://yourapp.com`, it cannot directly connect to your local `ws://localhost:8188`.
## The Solution
This node starts a local HTTPS proxy on port 9999 that sits between the browser and ComfyUI:
```
Browser (HTTPS page)
↓ wss://localhost:9999 (trusted self-signed cert)
ComfyUI HTTPS Bridge ← this node
↓ ws://localhost:8188 (local, no restrictions)
ComfyUI
```
## Features
- **Zero configuration** — starts automatically when ComfyUI loads
- **No external tools required** — generates self-signed certificates using Python's `cryptography` library
- **Auto-detects ComfyUI address** — reads `--listen` and `--port` startup arguments automatically
- **Smart IP detection** — when ComfyUI uses `--listen 0.0.0.0`, resolves to the actual local network IP
- **Full proxy support** — handles HTTP requests, WebSocket connections, and image streaming
## Installation
### Via ComfyUI Manager
Search for `ComfyUI-HTTPS-Bridge` and install.
### Manual
```bash
cd ComfyUI/custom_nodes
git clone https://github.com/caissonfiv/comfyui-https-bridge.git
```
Then install dependencies:
```bash
pip install -r custom_nodes/comfyui-https-bridge/requirements.txt
```
Restart ComfyUI. The bridge starts automatically in the background.
## First-Time Browser Setup (Once Only)
Because the certificate is self-signed, your browser needs a one-time authorization:
1. Open **https://localhost:9999** in your browser
2. Click **Advanced** → **Proceed to localhost**
3. You'll see a blank page — that means it's working
After this, the browser remembers the exception permanently.
## Usage
In your ComfyUI web app's connection settings, enter:
```
https://localhost:9999
```
You should see "ComfyUI Connected" in the app.
## Configuration
All settings are optional via environment variables:
| Variable | Default | Description |
|----------|---------|-------------|
| `COMFY_BRIDGE_PORT` | `9999` | HTTPS bridge port |
| `COMFY_HOST` | auto-detected | Override ComfyUI host |
| `COMFY_PORT` | auto-detected | Override ComfyUI port |
**Address detection priority:**
1. Environment variables `COMFY_HOST` / `COMFY_PORT` (highest)
2. ComfyUI startup args `--listen` / `--port` (auto-read)
3. Default `127.0.0.1:8188`
**Example — custom port:**
```bash
COMFY_BRIDGE_PORT=9998 python main.py
```
**Example — remote ComfyUI:**
```bash
COMFY_HOST=192.168.1.50 COMFY_PORT=8188 python main.py
```
## Requirements
- Python 3.8+
- `cryptography` — for self-signed certificate generation
- `aiohttp` — for the HTTPS proxy server (already included in ComfyUI)
## License
MIT