常见问题
以下是关于 SSLcat 的常见问题解答,如果您有其他问题,请随时联系我们。
general
SSLcat är en omvänd proxyserver med SSL i företagsklass, skriven i Go och med öppen källkod. Den paketerar nginx + Caddy + Web UI + GitOps i en enda binär: automatisk utfärdande och förnyelse via Let's Encrypt, smart domänrouting, lastbalansering, WAF, Docker / Runner-applikationsvärd och en modern administrationspanel på webben. Från v2.1 levereras dessutom en inbyggd MCP-server så att Claude / Cursor och andra AI-klienter kan anropa dess verktyg direkt.
MCP (Model Context Protocol) är ett öppet protokoll som kopplar AI-klienter till externa verktyg. Från v2.1 är SSLcat självt en MCP-server, och från och med v2.3.0-rc1 exponerar den 22 verktyg (CRUD för site / cert / proxyrutter, hälsokontroll av uppströms, frågor mot långkörande uppgifter samt `error_log_list` / `error_log_tail` för att granska senaste fel) plus 5 resurser (redigerad aktuell konfiguration, ögonblicksbild av driftmått, åtkomstloggens svans, källor för felloggar, innehåll i felloggar). Lägg in en token i Claude Desktop / Cursor / Cherry Studio / Continue.dev så kan AI:n lista sajter, utfärda certifikat, ändra rutter och granska åtkomst- / felloggar — destruktiva åtgärder kräver fortfarande tvåstegsbekräftelse.
Engradare på macOS / Linux: `curl -fsSL https://raw.githubusercontent.com/xurenlu/sslcat/main/install.sh | bash`. Du kan också hämta binärer från GitHub Releases-sidan (linux-amd64 / linux-arm64 / darwin-arm64 / darwin-amd64). Fullständig dokumentation finns under `docs/` och på webbplatsen.
Ja. SSLcat integrerar Let's Encrypt (ACME). Att lägga till en domän utlöser automatisk utfärdande, och certifikat förnyas 30 dagar före utgång utan stilleståndstid. Både HTTP-01- och DNS-01-utmaningar stöds; DNS-01 i kombination med AWS Route53 (och andra leverantörer) innebär att du kan utfärda wildcard-certifikat som `*.example.com`.
Jämfört med nginx: SSLcat levereras med administrationspanel på webben, automatisk SSL, GitOps-driftsättning, realtidsövervakning och AI-driven säkerhet direkt ur lådan — inga handredigerade konfigurationsfiler längre. Jämfört med Caddy: SSLcat erbjuder 6 lastbalanseringsalgoritmer, hantering av flera användare, driftsättning via Docker-bilder och Runner, ett API-tokensystem, WebSocket-baserad realtidsströmning av loggar och från v2.1 den inbyggda MCP-integrationen.
Fullt stöd för HTTP/1.1, HTTP/2 och HTTP/3 (QUIC), med framtvingat TLS 1.3. Långlivade WebSocket- och SSE-anslutningar hanteras särskilt, och långa ACME-uppgifter använder hjärtslag, undantag från skrivtimeout och samtidighetsisolering per domän så att de inte kan dra ner varandra.
Sex algoritmer är inbyggda (round-robin, viktad round-robin, least-conn, IP-hash, slumpmässig, snabbast svar), i kombination med TCP-hälsokontroller och sessionsfasthet. Du kan koppla en lista med viktade backender på ruttnivå på en enskild domän.
Lägg till SSLcat som en Git-remote och kör sedan `git push sslcat main` för att driftsätta — i stil med Dokku/Heroku. Runner-driftsättningens ingång är skiktad: ladda upp en katalog, ladda upp en binär, hämta en Docker-bild direkt, bygg från `git push` eller använd en mall. Alla vägar mynnar ut i samma enhetliga Runner-specifikation (miljövariabler, portar, monteringar, startkommando).
Runner är SSLcats inbyggda lager för applikationsvärd. Den kan köra Docker-containrar, köra uppladdade binärer, köra bilder som byggts från `git push` eller driftsätta från mallar. När SSLcat självt startas om återförenas endast tillståndet för Runner-containrar — dina affärscontainrar startas aldrig om, så produktionstrafik bounceras aldrig av misstag.
Matchning av WAF-regler (skanning av begärankropp är begränsad till 1 MB för att hålla minnet under kontroll), DDoS-skydd, skydd mot råstyrkeattacker, block- och tillåtelselistor baserade på IP / UA / TLS-fingeravtryck, finkorniga API-tokens, TOTP-MFA, granskningsloggar, versionshantering av konfiguration samt en Isolation Forest-baserad AI-anomalidetektor med onlineträning, JSON-modellpersistens och inferens på verklig trafik.
Föredra det inbyggda återställningskommandot: `sslcat users password -username admin -new-password 'NewStrongPass123!'`. Från ett källkodsträd kan du även köra: `go run tools/cmd/reset_password/main.go admin 'NewStrongPass123!'`.
Från och med v2.0.0-rc22 kan du även återställa via en engångskod för återställning. För att manuellt skapa en bcrypt-hash med Ruby: installera bcrypt med `gem install bcrypt`, kör sedan `SSL_PASS='NewStrongPass123!' ruby -rbcrypt -e 'puts BCrypt::Password.create(ENV.fetch("SSL_PASS"), cost: 10)'`.
Med Python: `python3 -m pip install bcrypt`, sedan `SSL_PASS='NewStrongPass123!' python3 -c 'import bcrypt, os; print(bcrypt.hashpw(os.environ["SSL_PASS"].encode(), bcrypt.gensalt(rounds=10)).decode())'`.
Skriv hashen till `admin.password_file` (vanligtvis `/opt/sslcat/data/admin.pass` eller `./data/admin.pass`) med läge `600`. Återställning via lösenordsfil kräver oftast inte att SSLcat startas om — nästa inloggning läser den nya hashen.
`http://<your-host>:8080/sslcat-panel/`, standardkonto `admin`, standardlösenord `admin*9527` (byt det vid första inloggningen). Både prefixet för administrations-URL:en och hanteringsporten är konfigurerbara.
Ja. SSLcat utfärdar wildcard-certifikat som `*.example.com` via Let's Encrypts DNS-01-utmaning. Wildcard-domäner tvingas automatiskt till DNS-01 och paras ihop med AWS Route53 och andra DNS-leverantörer för verifiering.
Lägg till domän, målvärd och port under "Sites" i administrationspanelen. För att lägga till flera backender, aktivera `load_balancer_enabled`, välj algoritm (round_robin / least_conn / ip_hash m.fl.), slå på hälsokontroller och lista backenderna. Du kan också redigera JSON-konfigurationen direkt (SSLcat använder JSON, inte YAML).
Ja. v2.0-linjen fortsätter att härda produktionsvägarna: atomära skrivningar för certifikat, nycklar, konfigurationsversioner, tokens och sessioner; idempotenta Stop / Close på varje komponent; säkrare uppströmscachning under samtidighet; WAF med hög genomströmning; stenhårda HTTP/2- / HTTP/3- / WebSocket-långlivade anslutningar. Den senaste optimeringen sänkte CPU-användningen i viloläge från 50–100 % till <1 % och flera Runner-uppsättningar med cirka 97 %.
1) Aktivera MCP: `sslcat mcp enable`. 2) Skapa en token: `sslcat mcp token create --name claude-desktop --scopes read,site:write,cert:write`. Klartexttoken visas endast en gång — förvara den säkert. 3) Konfigurera Claude Desktop med Streamable HTTP-ändpunkten (standard `https://your-domain/sslcat-panel/mcp/stream`) och bearer-token. Se `docs/mcp-client-setup.md` för fullständiga konfigurationer som täcker Cursor, Cherry Studio, Continue.dev och felsökning med curl.
Ja. Varje destruktivt verktyg använder tvåstegsbekräftelse: det första anropet returnerar en dry-run-förhandsvisning med påverkansinformation (t.ex. `cert_delete` flaggar om certifikatet refereras av en proxyregel och hur många dagar som återstår; `proxy_route_delete` listar prefix och backender) plus en `confirm_token` med 60 sekunders TTL. AI:n måste skicka tillbaka den tokenen i argumentet `confirm` vid ett andra anrop för att åtgärden ska utföras på riktigt. Tokens binds till (token_name, tool, args-hash), så de kan inte återanvändas mellan verktyg eller argument.
En Isolation Forest är inbyggd i SSLcat. En `RequestSampler` extraherar funktioner från varje verklig begäran till en ringbuffert med 5 000 platser; träning hämtar prover direkt från ringen och persisterar skogen som JSON under `${data_dir}/ml/isolation_forest.json` (laddas automatiskt vid nästa start). Inferenser landar i en ringbuffert med 200 platser, så administrationspanelens flik "Senaste detektioner" speglar verklig trafik, inte hårdkodad mockdata.
Linux (alla större distributioner), macOS och Windows; både amd64- och arm64-binärer publiceras. Vi rekommenderar att köra SSLcat under systemd på Linux i produktion.
Minimum: 512 MB RAM, 100 MB disk. Rekommenderat: 2 GB RAM, 1 GB disk. För att bygga från källkod krävs Go 1.21+.
Allihop. WebSocket vidarebefordras transparent till uppströms; SSE över HTTP/2 / HTTP/3 är justerat så att skrivtimeouts inte kan döda långkörande strömmar; PHP-sajter fungerar via en FastCGI-backend.
Administrationspanelen läser loggar med begränsad tailing (stora loggfiler dras aldrig in i minnet). Du kan också tail:a den konfigurerade loggfilen direkt. Via MCP kan AI-klienter hämta svansen med en resurs som `sslcat://logs/access?since=10m&domain=foo.com&limit=200`.
SSLcat riktar in sig på Let's Encrypt direkt ur lådan — en gratis publik CA som finns till för att göra HTTPS till standard. Du kan fortfarande ladda upp kommersiella certifikat via `cert_upload`; SSLcat validerar PEM-parsning, parning av certifikat/nyckel och täckning av CN/SAN.
1) `sslcat doctor --json` kör en självkontroll i ett svep över konfiguration, portar, certifikatkatalog, sajtrötter, uppströms och MCP-tokentillstånd. 2) `sslcat status --json` skriver ut version, lyssningsparametrar och sammanfattning av site / cert / MCP. 3) Läs SSLcats fellogg och `${data_dir}/mcp_audit.YYYYMMDD.log`, eller låt AI läsa dem via MCP-verktygen `error_log_list` / `error_log_tail` (täcker SSLcat självt plus varje proxy- / statiskt / php-site). 4) `sslcat proxy health-check --domain foo.com --include-routes --json` probar huvudbackenden och varje PathPrefixRule-backend parallellt. 5) Servern exponerar sin version via svarshuvudena `X-App-Version` / `X-Server-Version` så att du kan bekräfta vilken bild som faktiskt betjänar trafik.
v2.2.0-rc1 lägger till CLI-driftskommandon: `sslcat status [--json]` (sammanfattning av drifttillståndet), `sslcat doctor [--json]` (självkontroll över konfiguration / portar / certifikat / sajtrötter / uppströms / MCP-tokens), `sslcat site list/add/update/delete/enable/disable` (CRUD för statiska och PHP-sajter — radering kräver uttryckligt `--yes`) och `sslcat proxy health-check [--domain] [--include-routes] [--json]` (TCP-prob). Globalt `-config` kan placeras före subkommandot. v2.3.0-rc1 lägger till MCP-verktygen `error_log_list` och `error_log_tail`, plus resurserna `sslcat://logs/error-sources` och `sslcat://logs/error{?id,kind,domain,since,keyword,limit,max_bytes}` så att AI-klienter kan lista och läsa senaste fel från SSLcat självt och från enskilda sajter. Under huven är `internal/mcp/logview` en begränsad loggläsare (förvalt sista 1 MB, max 4 MB) så att stora loggfiler inte kan blockera begäranvägen.
Redan levererat: fullständig MCP-integration P1–P5 (v2.1.0), CLI-drifts- och självkontrollkommandon (v2.2.0-rc1), MCP-fellogläsning plus den begränsade loggläsaren (v2.3.0-rc1). Planerat: Kubernetes-integration, stöd för flera kluster, avancerade cachestrategier, ett insticksprogramssystem och ett GraphQL-API.
MIT. Kod, ärenden och utgåvor finns alla på GitHub: https://github.com/xurenlu/sslcat . Ärenden, PR:er och fler användningsfall under `docs/` är mycket välkomna.
没有找到您要的答案?
如果您有其他问题或需要技术支持,请通过以下方式联系我们:
📧 邮箱: xurenlu@gmail.com
💬 GitHub Issues:github.com/xurenlu/sslcat/issues