常见问题
以下是关于 SSLcat 的常见问题解答,如果您有其他问题,请随时联系我们。
general
SSLcat adalah server reverse proxy SSL kelas enterprise open-source yang ditulis dalam Go. Ia menggabungkan nginx + Caddy + Web UI + GitOps menjadi satu binary: penerbitan dan perpanjangan otomatis Let's Encrypt, routing domain cerdas, load balancing, WAF, hosting aplikasi Docker / Runner, dan panel admin Web modern. Mulai v2.1 ia juga hadir dengan server MCP bawaan sehingga klien AI seperti Claude / Cursor dapat memanggil tool-nya secara langsung.
MCP (Model Context Protocol) adalah protokol terbuka yang menghubungkan klien AI ke tool eksternal. Mulai v2.1 SSLcat sendiri adalah server MCP, dan per v2.3.0-rc1 ia mengekspos 22 tool (CRUD site / cert / proxy route, health check upstream, query task jangka panjang, dan `error_log_list` / `error_log_tail` untuk memeriksa error terbaru) ditambah 5 resource (konfigurasi saat ini yang sudah disensor, snapshot metrik runtime, tail access log, sumber error log, isi error log). Masukkan token ke Claude Desktop / Cursor / Cherry Studio / Continue.dev dan AI dapat membuat daftar situs, menerbitkan sertifikat, mengubah route serta memeriksa access / error log — tindakan destruktif tetap melalui konfirmasi dua fase.
Satu baris di macOS / Linux: `curl -fsSL https://raw.githubusercontent.com/xurenlu/sslcat/main/install.sh | bash`. Anda juga dapat mengambil binary dari halaman GitHub Releases (linux-amd64 / linux-arm64 / darwin-arm64 / darwin-amd64). Dokumentasi lengkap ada di `docs/` dan di situs web.
Ya. SSLcat terintegrasi dengan Let's Encrypt (ACME). Menambahkan domain memicu penerbitan otomatis, dan sertifikat diperpanjang 30 hari sebelum kedaluwarsa tanpa downtime. Baik tantangan HTTP-01 maupun DNS-01 didukung; DNS-01 ditambah AWS Route53 (dan provider lain) berarti Anda dapat menerbitkan sertifikat wildcard seperti `*.example.com`.
Dibanding nginx: SSLcat hadir dengan panel admin Web, SSL otomatis, deployment GitOps, monitoring real-time dan keamanan berbasis AI siap pakai — tidak perlu lagi mengedit file konfigurasi secara manual. Dibanding Caddy: SSLcat menawarkan 6 algoritma load-balancing, manajemen multi-pengguna, deployment image Docker dan Runner, sistem token API, streaming log langsung berbasis WebSocket, dan mulai v2.1 integrasi MCP bawaan.
Dukungan penuh HTTP/1.1, HTTP/2 dan HTTP/3 (QUIC), dengan TLS 1.3 yang dipaksakan. Koneksi WebSocket dan SSE jangka panjang mendapat penanganan khusus, dan task ACME yang lama menggunakan heartbeat, pengecualian write-timeout dan isolasi konkurensi per-domain sehingga tidak dapat saling menjatuhkan.
Enam algoritma sudah tertanam (round-robin, weighted round-robin, least-conn, IP hash, random, fastest-response), dikombinasikan dengan health check TCP dan session stickiness. Anda dapat melampirkan daftar backend berbobot di level route pada satu domain.
Tambahkan SSLcat sebagai Git remote, lalu jalankan `git push sslcat main` untuk deploy — gaya Dokku/Heroku. Entri deployment Runner berlapis: unggah direktori, unggah binary, tarik image Docker langsung, build dari `git push`, atau gunakan template. Semua jalur bertemu pada spesifikasi Runner terpadu yang sama (env vars, port, mount, perintah start).
Runner adalah lapisan hosting aplikasi bawaan SSLcat. Ia dapat menjalankan container Docker, menjalankan binary yang diunggah, menjalankan image yang dibangun dari `git push`, atau melakukan deploy dari template. Saat SSLcat sendiri restart, ia hanya merekonsiliasi status container Runner — ia tidak pernah merestart container bisnis Anda, sehingga traffic produksi tidak pernah secara tidak sengaja terputus.
Pencocokan aturan WAF (pemindaian request body dibatasi pada 1 MB untuk menjaga memori tetap terkendali), perlindungan DDoS, anti brute-force, block- dan whitelisting IP / UA / TLS fingerprint, token API yang granular, MFA TOTP, audit log, manajemen versi konfigurasi, dan detektor anomali AI berbasis Isolation Forest dengan pelatihan online, persistensi model JSON dan inferensi traffic nyata.
Lebih disarankan perintah reset bawaan: `sslcat users password -username admin -new-password 'NewStrongPass123!'`. Dari source tree Anda juga dapat menjalankan: `go run tools/cmd/reset_password/main.go admin 'NewStrongPass123!'`.
Mulai v2.0.0-rc22 dan seterusnya Anda juga dapat melakukan reset via kode pemulihan sekali pakai. Untuk menghasilkan hash bcrypt secara manual dengan Ruby: instal bcrypt dengan `gem install bcrypt`, lalu jalankan `SSL_PASS='NewStrongPass123!' ruby -rbcrypt -e 'puts BCrypt::Password.create(ENV.fetch("SSL_PASS"), cost: 10)'`.
Dengan Python: `python3 -m pip install bcrypt`, lalu `SSL_PASS='NewStrongPass123!' python3 -c 'import bcrypt, os; print(bcrypt.hashpw(os.environ["SSL_PASS"].encode(), bcrypt.gensalt(rounds=10)).decode())'`.
Tulis hash ke `admin.password_file` (biasanya `/opt/sslcat/data/admin.pass` atau `./data/admin.pass`) dengan mode `600`. Pemulihan via file password biasanya tidak memerlukan restart SSLcat — login berikutnya membaca hash baru.
`http://<your-host>:8080/sslcat-panel/`, akun default `admin`, password default `admin*9527` (ubah saat login pertama). Prefix URL admin dan port manajemen keduanya dapat dikonfigurasi.
Ya. SSLcat menerbitkan sertifikat wildcard seperti `*.example.com` melalui tantangan DNS-01 Let's Encrypt. Domain wildcard dipaksa menggunakan DNS-01 secara otomatis dan berpasangan dengan AWS Route53 serta provider DNS lain untuk verifikasi.
Tambahkan domain, host target, dan port di bawah "Sites" pada panel admin. Untuk menambahkan beberapa backend, aktifkan `load_balancer_enabled`, pilih algoritma (round_robin / least_conn / ip_hash dll.), nyalakan health check dan daftarkan backend. Anda juga dapat mengedit konfigurasi JSON secara langsung (SSLcat menggunakan JSON, bukan YAML).
Ya. Lini v2.0 terus memperkuat jalur produksi: atomic write untuk sertifikat, key, versi konfigurasi, token dan sesi; Stop / Close idempoten pada setiap komponen; upstream caching yang lebih aman di bawah konkurensi; WAF throughput tinggi; koneksi jangka panjang HTTP/2 / HTTP/3 / WebSocket yang sangat stabil. Penyetelan terbaru menurunkan CPU dalam keadaan idle dari 50–100% menjadi <1% dan setup multi-Runner sekitar 97%.
1) Aktifkan MCP: `sslcat mcp enable`. 2) Buat token: `sslcat mcp token create --name claude-desktop --scopes read,site:write,cert:write`. Token plaintext hanya ditampilkan sekali — simpan dengan aman. 3) Konfigurasi Claude Desktop dengan endpoint Streamable HTTP (default `https://your-domain/sslcat-panel/mcp/stream`) dan bearer token. Lihat `docs/mcp-client-setup.md` untuk konfigurasi lengkap yang mencakup Cursor, Cherry Studio, Continue.dev dan debugging curl.
Ya. Setiap tool destruktif menggunakan konfirmasi dua fase: panggilan pertama mengembalikan pratinjau dry-run dengan info dampak (misal `cert_delete` menandai apakah sertifikat dirujuk oleh aturan proxy dan berapa hari tersisa; `proxy_route_delete` mendaftarkan prefix dan backend) ditambah `confirm_token` dengan TTL 60 detik. AI harus meneruskan token tersebut kembali dalam argumen `confirm` pada panggilan kedua untuk benar-benar mengeksekusi. Token terikat pada (token_name, tool, args hash), sehingga tidak dapat digunakan ulang di seluruh tool atau argumen.
Isolation Forest tertanam di SSLcat. Sebuah `RequestSampler` mengekstrak fitur dari setiap request nyata ke dalam ring buffer berukuran 5.000 slot; pelatihan menarik sampel langsung dari ring dan mempersistensikan forest sebagai JSON di bawah `${data_dir}/ml/isolation_forest.json` (dimuat otomatis pada start berikutnya). Inferensi mendarat di ring buffer berukuran 200 slot, sehingga tab "Recent detections" di panel admin mencerminkan traffic nyata, bukan data mock yang di-hardcode.
Linux (semua distro utama), macOS dan Windows; baik binary amd64 maupun arm64 diterbitkan. Kami menyarankan menjalankan SSLcat di bawah systemd di Linux untuk produksi.
Minimum: RAM 512 MB, disk 100 MB. Direkomendasikan: RAM 2 GB, disk 1 GB. Membangun dari source memerlukan Go 1.21+.
Semuanya. WebSocket diteruskan secara transparan ke upstream; SSE di HTTP/2 / HTTP/3 disetel sehingga write timeout tidak dapat mematikan stream yang berjalan lama; situs PHP bekerja melalui backend FastCGI.
Panel admin membaca log dengan tailing yang dibatasi (file log besar tidak pernah ditarik ke memori). Anda juga dapat mem-tail file log yang dikonfigurasi secara langsung. Via MCP, klien AI dapat mengambil tail dengan resource seperti `sslcat://logs/access?since=10m&domain=foo.com&limit=200`.
SSLcat menyasar Let's Encrypt secara default — CA publik gratis yang ada untuk menjadikan HTTPS sebagai default. Anda tetap dapat mengunggah sertifikat komersial via `cert_upload`; SSLcat memvalidasi parsing PEM, pasangan cert/key dan cakupan CN/SAN.
1) `sslcat doctor --json` menjalankan pemeriksaan mandiri sekali jalan untuk konfigurasi, port, direktori sertifikat, root situs, upstream, dan status token MCP. 2) `sslcat status --json` mencetak versi, parameter listen, dan ringkasan site / cert / MCP. 3) Baca error log SSLcat dan `${data_dir}/mcp_audit.YYYYMMDD.log`, atau biarkan AI membacanya via tool MCP `error_log_list` / `error_log_tail` (mencakup SSLcat sendiri ditambah setiap situs proxy / static / php). 4) `sslcat proxy health-check --domain foo.com --include-routes --json` menguji backend utama dan setiap backend PathPrefixRule secara paralel. 5) Server mengekspos versinya via header response `X-App-Version` / `X-Server-Version` sehingga Anda dapat mengonfirmasi image mana yang sebenarnya melayani traffic.
v2.2.0-rc1 menambahkan perintah CLI ops: `sslcat status [--json]` (ringkasan runtime), `sslcat doctor [--json]` (pemeriksaan mandiri untuk konfigurasi / port / sertifikat / root situs / upstream / token MCP), `sslcat site list/add/update/delete/enable/disable` (CRUD untuk situs static dan PHP — delete memerlukan `--yes` eksplisit), dan `sslcat proxy health-check [--domain] [--include-routes] [--json]` (probe TCP). Global `-config` dapat ditempatkan sebelum subcommand. v2.3.0-rc1 menambahkan tool MCP `error_log_list` dan `error_log_tail`, ditambah resource `sslcat://logs/error-sources` dan `sslcat://logs/error{?id,kind,domain,since,keyword,limit,max_bytes}` sehingga klien AI dapat membuat daftar dan membaca error terbaru dari SSLcat sendiri dan dari masing-masing situs. Di balik layar `internal/mcp/logview` adalah pembaca log yang dibatasi (default 1 MB terakhir, maksimum 4 MB) sehingga file log besar tidak dapat memblokir jalur request.
Sudah dirilis: integrasi MCP penuh P1–P5 (v2.1.0), perintah CLI ops dan pemeriksaan mandiri (v2.2.0-rc1), pembacaan log error MCP plus pembaca log yang dibatasi (v2.3.0-rc1). Direncanakan: integrasi Kubernetes, dukungan multi-cluster, strategi caching tingkat lanjut, sistem plugin, dan API GraphQL.
MIT. Kode, issue, dan release semuanya ada di GitHub: https://github.com/xurenlu/sslcat . Issue, PR, dan use case tambahan di bawah `docs/` sangat diterima.
没有找到您要的答案?
如果您有其他问题或需要技术支持,请通过以下方式联系我们:
📧 邮箱: xurenlu@gmail.com
💬 GitHub Issues:github.com/xurenlu/sslcat/issues