常见问题
以下是关于 SSLcat 的常见问题解答,如果您有其他问题,请随时联系我们。
general
SSLcat je open-source SSL reverzní proxy server podnikové úrovně napsaný v Go. Sdružuje nginx + Caddy + Web UI + GitOps do jediného binárního souboru: automatické vydávání a obnova Let's Encrypt, chytré směrování podle domény, vyvažování zátěže, WAF, hostování aplikací Docker / Runner a moderní webový administrační panel. Od v2.1 obsahuje také vestavěný MCP server, takže Claude / Cursor a další AI klienti mohou volat jeho nástroje přímo.
MCP (Model Context Protocol) je otevřený protokol, který propojuje AI klienty s externími nástroji. Od v2.1 je samotný SSLcat MCP server a od v2.3.0-rc1 zpřístupňuje 22 nástrojů (CRUD pro weby / certifikáty / proxy trasy, kontrolu zdraví upstreamu, dotazy na dlouhotrvající úlohy a `error_log_list` / `error_log_tail` pro kontrolu nedávných chyb) plus 5 zdrojů (anonymizovaná aktuální konfigurace, snímek běhových metrik, konec přístupového protokolu, zdroje chybových protokolů, obsah chybového protokolu). Vložte token do Claude Desktop / Cursor / Cherry Studio / Continue.dev a AI může vypisovat weby, vydávat certifikáty, měnit trasy a kontrolovat přístupové / chybové protokoly — destruktivní akce stále procházejí dvoufázovým potvrzením.
Jeden řádek na macOS / Linux: `curl -fsSL https://raw.githubusercontent.com/xurenlu/sslcat/main/install.sh | bash`. Binární soubory si také můžete stáhnout ze stránky GitHub Releases (linux-amd64 / linux-arm64 / darwin-arm64 / darwin-amd64). Úplná dokumentace je v `docs/` a na webu.
Ano. SSLcat integruje Let's Encrypt (ACME). Přidání domény spustí automatické vydání a certifikáty se obnovují 30 dní před vypršením bez výpadku. Podporovány jsou výzvy HTTP-01 i DNS-01; DNS-01 plus AWS Route53 (a další poskytovatelé) znamená, že můžete vydávat zástupné certifikáty jako `*.example.com`.
Oproti nginxu: SSLcat hned obsahuje webový administrační panel, automatické SSL, nasazení GitOps, monitoring v reálném čase a zabezpečení řízené AI — žádné ruční editování konfiguračních souborů. Oproti Caddy: SSLcat nabízí 6 algoritmů vyvažování zátěže, víceuživatelskou správu, nasazení Docker obrazu a Runner, systém API tokenů, živé streamování protokolů přes WebSocket a od v2.1 vestavěnou integraci MCP.
Plně HTTP/1.1, HTTP/2 a HTTP/3 (QUIC), s vynuceným TLS 1.3. Dlouhotrvající spojení WebSocket a SSE dostávají zvláštní zacházení a dlouhé úlohy ACME používají heartbeaty, výjimky z časových limitů zápisu a izolaci souběžnosti podle domény, aby se vzájemně nestrhávaly dolů.
Vestavěno je šest algoritmů (round-robin, vážený round-robin, least-conn, IP hash, náhodný, nejrychlejší odezva) v kombinaci s TCP kontrolami zdraví a session stickiness. Na úrovni trasy v jedné doméně můžete připojit seznam vážených backendů.
Přidejte SSLcat jako Git remote a poté spusťte `git push sslcat main` pro nasazení — ve stylu Dokku/Heroku. Vstupní bod nasazení Runner je vrstvený: nahrání adresáře, nahrání binárního souboru, přímé stažení Docker obrazu, sestavení z `git push` nebo použití šablony. Všechny cesty se sbíhají do stejné jednotné specifikace Runner (proměnné prostředí, porty, mounty, příkaz pro spuštění).
Runner je vestavěná vrstva pro hostování aplikací v SSLcat. Umí spouštět Docker kontejnery, spouštět nahrané binární soubory, spouštět obrazy sestavené z `git push` nebo nasazovat ze šablon. Když se samotný SSLcat restartuje, pouze srovná stav Runner kontejnerů — nikdy nerestartuje vaše produkční kontejnery, takže produkční provoz se nikdy nečekaně nepřeruší.
Porovnávání pravidel WAF (skenování těla požadavku je omezeno na 1 MB, aby paměť zůstala omezená), ochrana proti DDoS, ochrana proti hrubé síle, blokování a whitelisting podle IP / UA / TLS otisku, jemně odstupňované API tokeny, TOTP MFA, auditní protokoly, správa verzí konfigurace a AI detektor anomálií založený na Isolation Forest s online trénováním, persistencí modelu v JSON a inferencí na reálném provozu.
Upřednostněte vestavěný příkaz pro reset: `sslcat users password -username admin -new-password 'NewStrongPass123!'`. Ze zdrojového stromu můžete také spustit: `go run tools/cmd/reset_password/main.go admin 'NewStrongPass123!'`.
Od v2.0.0-rc22 můžete také resetovat pomocí jednorázového obnovovacího kódu. Pro ruční vygenerování bcrypt hash s Ruby: nainstalujte bcrypt pomocí `gem install bcrypt`, poté spusťte `SSL_PASS='NewStrongPass123!' ruby -rbcrypt -e 'puts BCrypt::Password.create(ENV.fetch("SSL_PASS"), cost: 10)'`.
S Pythonem: `python3 -m pip install bcrypt`, poté `SSL_PASS='NewStrongPass123!' python3 -c 'import bcrypt, os; print(bcrypt.hashpw(os.environ["SSL_PASS"].encode(), bcrypt.gensalt(rounds=10)).decode())'`.
Zapište hash do `admin.password_file` (obvykle `/opt/sslcat/data/admin.pass` nebo `./data/admin.pass`) s režimem `600`. Obnova přes soubor s heslem obvykle nevyžaduje restart SSLcat — další přihlášení načte nový hash.
`http://<your-host>:8080/sslcat-panel/`, výchozí účet `admin`, výchozí heslo `admin*9527` (změňte při prvním přihlášení). Prefix administrační URL i administrační port jsou konfigurovatelné.
Ano. SSLcat vydává zástupné certifikáty jako `*.example.com` přes Let's Encrypt DNS-01 výzvu. Zástupné domény jsou automaticky vynuceny na DNS-01 a párují se s AWS Route53 a dalšími DNS poskytovateli pro ověření.
Přidejte doménu, cílového hostitele a port v sekci „Sites“ v administračním panelu. Pro přidání více backendů povolte `load_balancer_enabled`, vyberte algoritmus (round_robin / least_conn / ip_hash atd.), zapněte kontroly zdraví a uveďte backendy. Můžete také přímo upravit JSON konfiguraci (SSLcat používá JSON, ne YAML).
Ano. Řada v2.0 stále posiluje produkční cesty: atomické zápisy pro certifikáty, klíče, verze konfigurace, tokeny a relace; idempotentní Stop / Close u každé komponenty; bezpečnější ukládání upstreamu do mezipaměti při souběžnosti; vysoce propustný WAF; pevně stabilní dlouhotrvající spojení HTTP/2 / HTTP/3 / WebSocket. Nedávné ladění snížilo CPU v klidovém stavu z 50–100 % pod 1 % a sestavy s více Runnery přibližně o 97 %.
1) Povolte MCP: `sslcat mcp enable`. 2) Vytvořte token: `sslcat mcp token create --name claude-desktop --scopes read,site:write,cert:write`. Čistý text tokenu se zobrazí pouze jednou — uložte ho bezpečně. 3) Nakonfigurujte Claude Desktop s Streamable HTTP endpointem (výchozí `https://your-domain/sslcat-panel/mcp/stream`) a bearer tokenem. Viz `docs/mcp-client-setup.md` pro úplné konfigurace pokrývající Cursor, Cherry Studio, Continue.dev a ladění přes curl.
Ano. Každý destruktivní nástroj používá dvoufázové potvrzení: první volání vrátí dry-run náhled s informacemi o dopadu (např. `cert_delete` označí, zda je certifikát odkazován pravidlem proxy a kolik dní zbývá; `proxy_route_delete` vypíše prefixy a backendy) plus `confirm_token` s TTL 60 sekund. AI musí tento token předat zpět v argumentu `confirm` druhého volání pro skutečné provedení. Tokeny jsou vázány na (token_name, tool, hash argumentů), takže je nelze znovu použít napříč nástroji nebo argumenty.
Do SSLcat je vestavěn Isolation Forest. `RequestSampler` extrahuje vlastnosti z každého reálného požadavku do kruhového bufferu o velikosti 5 000 slotů; trénování bere vzorky přímo z kruhu a perzistuje forest jako JSON pod `${data_dir}/ml/isolation_forest.json` (automaticky načten při dalším startu). Inferenace přistávají v kruhovém bufferu o velikosti 200 slotů, takže záložka „Recent detections“ v administračním panelu odráží reálný provoz, ne pevně zakódovaná falešná data.
Linux (všechny hlavní distribuce), macOS a Windows; publikovány jsou binární soubory amd64 i arm64. Pro produkci doporučujeme spouštět SSLcat pod systemd na Linuxu.
Minimum: 512 MB RAM, 100 MB disk. Doporučeno: 2 GB RAM, 1 GB disk. Sestavení ze zdroje vyžaduje Go 1.21+.
Všechny. WebSocket je transparentně přeposílán na upstream; SSE na HTTP/2 / HTTP/3 je vyladěno tak, aby časové limity zápisu nemohly ukončit dlouhotrvající streamy; PHP weby fungují přes FastCGI backend.
Administrační panel čte protokoly s omezeným tailingem (velké soubory protokolů se nikdy nenačítají do paměti). Můžete také přímo tailovat nakonfigurovaný soubor protokolu. Přes MCP mohou AI klienti získat konec pomocí zdroje jako `sslcat://logs/access?since=10m&domain=foo.com&limit=200`.
SSLcat cílí na Let's Encrypt hned po instalaci — bezplatnou veřejnou CA, která existuje, aby udělala HTTPS výchozím. Stále můžete nahrávat komerční certifikáty přes `cert_upload`; SSLcat ověří parsování PEM, párování certifikátu/klíče a pokrytí CN/SAN.
1) `sslcat doctor --json` provede jednorázovou samokontrolu napříč konfigurací, porty, adresářem certifikátů, kořeny webů, upstreamy a stavem MCP tokenů. 2) `sslcat status --json` vypíše verzi, parametry naslouchání a souhrn webů / certifikátů / MCP. 3) Přečtěte si chybový protokol SSLcat a `${data_dir}/mcp_audit.YYYYMMDD.log`, nebo nechte AI, ať je přečte přes MCP nástroje `error_log_list` / `error_log_tail` (pokrývá samotný SSLcat plus každý proxy / statický / php web). 4) `sslcat proxy health-check --domain foo.com --include-routes --json` paralelně testuje hlavní backend a každý backend PathPrefixRule. 5) Server zveřejňuje svou verzi přes hlavičky odpovědi `X-App-Version` / `X-Server-Version`, takže můžete potvrdit, který obraz skutečně obsluhuje provoz.
v2.2.0-rc1 přidává příkazy CLI provozu: `sslcat status [--json]` (souhrn běhu), `sslcat doctor [--json]` (samokontrola napříč konfigurací / porty / certifikáty / kořeny webů / upstreamy / MCP tokeny), `sslcat site list/add/update/delete/enable/disable` (CRUD pro statické a PHP weby — smazání vyžaduje explicitní `--yes`) a `sslcat proxy health-check [--domain] [--include-routes] [--json]` (TCP test). Globální `-config` lze umístit před podpříkaz. v2.3.0-rc1 přidává MCP nástroje `error_log_list` a `error_log_tail` plus zdroje `sslcat://logs/error-sources` a `sslcat://logs/error{?id,kind,domain,since,keyword,limit,max_bytes}`, aby AI klienti mohli vypisovat a číst nedávné chyby ze samotného SSLcat i z jednotlivých webů. Pod kapotou je `internal/mcp/logview` omezený čtenář protokolů (výchozí poslední 1 MB, maximálně 4 MB), takže velké soubory protokolů nemohou blokovat cestu požadavku.
Již dodáno: plná integrace MCP P1–P5 (v2.1.0), příkazy CLI provozu a samokontroly (v2.2.0-rc1), čtení chybových protokolů přes MCP plus omezený čtenář protokolů (v2.3.0-rc1). Plánováno: integrace Kubernetes, podpora více clusterů, pokročilé strategie ukládání do mezipaměti, systém pluginů a GraphQL API.
MIT. Kód, issues i releases žijí na GitHubu: https://github.com/xurenlu/sslcat . Issues, PR a další případy užití pod `docs/` jsou velmi vítány.
没有找到您要的答案?
如果您有其他问题或需要技术支持,请通过以下方式联系我们:
📧 邮箱: xurenlu@gmail.com
💬 GitHub Issues:github.com/xurenlu/sslcat/issues