常见问题
以下是关于 SSLcat 的常见问题解答,如果您有其他问题,请随时联系我们。
general
SSLcat là một máy chủ reverse proxy SSL cấp doanh nghiệp mã nguồn mở viết bằng Go. Nó gói nginx + Caddy + Web UI + GitOps vào một file binary duy nhất: tự động cấp phát và gia hạn Let's Encrypt, định tuyến domain thông minh, cân bằng tải, WAF, lưu trữ ứng dụng Docker / Runner, và một bảng quản trị Web hiện đại. Từ v2.1, nó còn tích hợp sẵn một máy chủ MCP để Claude / Cursor và các AI client khác có thể gọi trực tiếp các công cụ của nó.
MCP (Model Context Protocol) là một giao thức mở kết nối các AI client với các công cụ bên ngoài. Từ v2.1, bản thân SSLcat là một máy chủ MCP, và tính đến v2.3.0-rc1 nó phơi bày 22 công cụ (CRUD site / chứng chỉ / proxy route, kiểm tra sức khỏe upstream, truy vấn tác vụ chạy dài, và `error_log_list` / `error_log_tail` để kiểm tra các lỗi gần đây) cộng thêm 5 tài nguyên (cấu hình hiện tại đã ẩn thông tin nhạy cảm, snapshot chỉ số runtime, đuôi log truy cập, nguồn log lỗi, nội dung log lỗi). Đặt một token vào Claude Desktop / Cursor / Cherry Studio / Continue.dev và AI có thể liệt kê các site, cấp phát chứng chỉ, thay đổi tuyến đường và kiểm tra log truy cập / log lỗi — các hành động phá hủy vẫn đi qua xác nhận hai pha.
Một dòng lệnh trên macOS / Linux: `curl -fsSL https://raw.githubusercontent.com/xurenlu/sslcat/main/install.sh | bash`. Bạn cũng có thể lấy binary từ trang GitHub Releases (linux-amd64 / linux-arm64 / darwin-arm64 / darwin-amd64). Tài liệu đầy đủ nằm trong `docs/` và trên trang web.
Có. SSLcat tích hợp Let's Encrypt (ACME). Thêm một domain sẽ kích hoạt cấp phát tự động, và chứng chỉ được gia hạn trước khi hết hạn 30 ngày mà không có thời gian ngừng hoạt động. Hỗ trợ cả thử thách HTTP-01 và DNS-01; DNS-01 cùng với AWS Route53 (và các nhà cung cấp khác) cho phép bạn cấp phát các chứng chỉ wildcard như `*.example.com`.
So với nginx: SSLcat đi kèm một bảng quản trị Web, SSL tự động, triển khai GitOps, giám sát thời gian thực và bảo mật do AI điều khiển ngay từ đầu — không còn phải sửa file cấu hình bằng tay. So với Caddy: SSLcat cung cấp 6 thuật toán cân bằng tải, quản lý đa người dùng, triển khai bằng image Docker và Runner, hệ thống API token, streaming log trực tiếp qua WebSocket, và từ v2.1 là tích hợp MCP có sẵn.
Hỗ trợ đầy đủ HTTP/1.1, HTTP/2 và HTTP/3 (QUIC), với TLS 1.3 bắt buộc. Các kết nối WebSocket và SSE dài hạn được xử lý đặc biệt, và các tác vụ ACME dài sử dụng heartbeat, miễn trừ write-timeout và cách ly đồng thời theo domain để chúng không thể ảnh hưởng lẫn nhau.
Tích hợp sẵn sáu thuật toán (round-robin, weighted round-robin, least-conn, IP hash, random, fastest-response), kết hợp với kiểm tra sức khỏe TCP và session stickiness. Bạn có thể gắn một danh sách backend có trọng số ở cấp tuyến đường trên một domain duy nhất.
Thêm SSLcat làm Git remote, sau đó chạy `git push sslcat main` để triển khai — kiểu Dokku/Heroku. Điểm vào triển khai Runner được phân lớp: tải lên thư mục, tải lên binary, kéo trực tiếp image Docker, build từ `git push`, hoặc dùng template. Mọi đường đi đều hội tụ về cùng đặc tả Runner thống nhất (biến môi trường, cổng, mount, lệnh khởi động).
Runner là tầng lưu trữ ứng dụng tích hợp sẵn của SSLcat. Nó có thể chạy container Docker, chạy binary đã tải lên, chạy image được build từ `git push`, hoặc triển khai từ template. Khi bản thân SSLcat khởi động lại, nó chỉ điều hòa trạng thái container Runner — nó không bao giờ khởi động lại container nghiệp vụ của bạn, vì vậy lưu lượng sản xuất không bao giờ bị bật lại do nhầm lẫn.
Khớp quy tắc WAF (quét body yêu cầu được giới hạn ở 1 MB để giữ bộ nhớ trong tầm kiểm soát), bảo vệ DDoS, chống brute-force, danh sách chặn và cho phép theo IP / UA / TLS fingerprint, API token chi tiết, TOTP MFA, nhật ký kiểm toán, quản lý phiên bản cấu hình, và một bộ phát hiện bất thường AI dựa trên Isolation Forest với huấn luyện trực tuyến, lưu mô hình JSON và suy luận trên lưu lượng thực.
Ưu tiên dùng lệnh reset tích hợp: `sslcat users password -username admin -new-password 'NewStrongPass123!'`. Từ cây nguồn, bạn cũng có thể chạy: `go run tools/cmd/reset_password/main.go admin 'NewStrongPass123!'`.
Từ v2.0.0-rc22 trở đi, bạn cũng có thể reset bằng mã khôi phục một lần. Để tạo hash bcrypt thủ công bằng Ruby: cài bcrypt bằng `gem install bcrypt`, sau đó chạy `SSL_PASS='NewStrongPass123!' ruby -rbcrypt -e 'puts BCrypt::Password.create(ENV.fetch("SSL_PASS"), cost: 10)'`.
Bằng Python: `python3 -m pip install bcrypt`, sau đó `SSL_PASS='NewStrongPass123!' python3 -c 'import bcrypt, os; print(bcrypt.hashpw(os.environ["SSL_PASS"].encode(), bcrypt.gensalt(rounds=10)).decode())'`.
Ghi hash vào `admin.password_file` (thường là `/opt/sslcat/data/admin.pass` hoặc `./data/admin.pass`) với chế độ `600`. Khôi phục bằng file mật khẩu thường không yêu cầu khởi động lại SSLcat — lần đăng nhập tiếp theo sẽ đọc hash mới.
`http://<your-host>:8080/sslcat-panel/`, tài khoản mặc định `admin`, mật khẩu mặc định `admin*9527` (hãy đổi ngay lần đăng nhập đầu tiên). Tiền tố URL admin và cổng quản lý đều có thể cấu hình.
Có. SSLcat cấp phát các chứng chỉ wildcard như `*.example.com` thông qua thử thách DNS-01 của Let's Encrypt. Các domain wildcard sẽ bị buộc dùng DNS-01 tự động và kết hợp với AWS Route53 cùng các nhà cung cấp DNS khác để xác minh.
Thêm domain, host và port mục tiêu trong mục "Sites" trên bảng quản trị. Để thêm nhiều backend, bật `load_balancer_enabled`, chọn thuật toán (round_robin / least_conn / ip_hash v.v.), bật kiểm tra sức khỏe và liệt kê các backend. Bạn cũng có thể chỉnh sửa trực tiếp file cấu hình JSON (SSLcat dùng JSON, không phải YAML).
Có. Dòng v2.0 liên tục củng cố các đường dẫn sản xuất: ghi nguyên tử cho chứng chỉ, khóa, phiên bản cấu hình, token và session; Stop / Close idempotent trên mọi thành phần; cache upstream an toàn hơn trong điều kiện đồng thời; WAF thông lượng cao; kết nối dài HTTP/2 / HTTP/3 / WebSocket cực kỳ ổn định. Tinh chỉnh gần đây đã đưa CPU ở trạng thái nhàn rỗi từ 50–100% xuống <1% và các thiết lập đa Runner giảm khoảng 97%.
1) Bật MCP: `sslcat mcp enable`. 2) Tạo token: `sslcat mcp token create --name claude-desktop --scopes read,site:write,cert:write`. Token dưới dạng plaintext chỉ hiển thị một lần — hãy lưu trữ an toàn. 3) Cấu hình Claude Desktop với endpoint Streamable HTTP (mặc định `https://your-domain/sslcat-panel/mcp/stream`) và bearer token. Xem `docs/mcp-client-setup.md` để có cấu hình đầy đủ bao gồm Cursor, Cherry Studio, Continue.dev và debug bằng curl.
Có. Mọi công cụ phá hủy đều sử dụng xác nhận hai pha: lần gọi đầu tiên trả về bản xem trước dry-run với thông tin tác động (ví dụ: `cert_delete` đánh dấu liệu chứng chỉ có được tham chiếu bởi một quy tắc proxy hay không và còn bao nhiêu ngày; `proxy_route_delete` liệt kê các tiền tố và backend) cùng với một `confirm_token` có TTL 60 giây. AI phải truyền token đó lại trong tham số `confirm` của lần gọi thứ hai để thực thi thật sự. Token được liên kết với (token_name, tool, args hash), vì vậy chúng không thể được tái sử dụng giữa các công cụ hoặc tham số khác nhau.
Một Isolation Forest được tích hợp sẵn trong SSLcat. Một `RequestSampler` trích xuất đặc trưng từ mỗi yêu cầu thực vào một ring buffer 5.000 ô; quá trình huấn luyện lấy mẫu trực tiếp từ ring và lưu forest dưới dạng JSON tại `${data_dir}/ml/isolation_forest.json` (tự động tải khi khởi động lại). Các suy luận được lưu vào ring buffer 200 ô, vì vậy tab "Các phát hiện gần đây" trên bảng quản trị phản ánh lưu lượng thực, không phải dữ liệu mock được mã hóa cứng.
Linux (tất cả các bản phân phối chính), macOS và Windows; xuất bản cả binary amd64 và arm64. Chúng tôi khuyến nghị chạy SSLcat dưới systemd trên Linux cho môi trường sản xuất.
Tối thiểu: 512 MB RAM, 100 MB đĩa. Khuyến nghị: 2 GB RAM, 1 GB đĩa. Build từ source yêu cầu Go 1.21+.
Tất cả đều có. WebSocket được chuyển tiếp minh bạch tới upstream; SSE trên HTTP/2 / HTTP/3 được tinh chỉnh để write timeout không thể giết các luồng chạy dài; site PHP hoạt động thông qua backend FastCGI.
Bảng quản trị đọc log bằng cách tail có giới hạn (các file log lớn không bao giờ bị kéo vào bộ nhớ). Bạn cũng có thể tail trực tiếp file log đã cấu hình. Qua MCP, các AI client có thể lấy phần đuôi bằng một tài nguyên như `sslcat://logs/access?since=10m&domain=foo.com&limit=200`.
SSLcat nhắm tới Let's Encrypt ngay từ đầu — một CA công cộng miễn phí tồn tại để biến HTTPS thành mặc định. Bạn vẫn có thể tải lên các chứng chỉ thương mại qua `cert_upload`; SSLcat xác thực việc phân tích PEM, sự khớp đôi chứng chỉ/khóa và phạm vi CN/SAN.
1) `sslcat doctor --json` chạy tự kiểm tra một lần trên cấu hình, cổng, thư mục chứng chỉ, gốc site, upstream và trạng thái MCP token. 2) `sslcat status --json` in phiên bản, tham số lắng nghe, và tóm tắt site / chứng chỉ / MCP. 3) Đọc log lỗi của SSLcat và `${data_dir}/mcp_audit.YYYYMMDD.log`, hoặc để AI đọc chúng qua các công cụ MCP `error_log_list` / `error_log_tail` (bao gồm chính SSLcat cộng thêm mỗi site proxy / static / php). 4) `sslcat proxy health-check --domain foo.com --include-routes --json` thăm dò song song backend chính và mỗi backend PathPrefixRule. 5) Máy chủ phơi bày phiên bản của nó qua các header phản hồi `X-App-Version` / `X-Server-Version` để bạn có thể xác nhận image nào thực sự đang phục vụ lưu lượng.
v2.2.0-rc1 bổ sung các lệnh vận hành CLI: `sslcat status [--json]` (tóm tắt runtime), `sslcat doctor [--json]` (tự kiểm tra cấu hình / cổng / chứng chỉ / gốc site / upstream / MCP token), `sslcat site list/add/update/delete/enable/disable` (CRUD cho site tĩnh và PHP — xóa yêu cầu `--yes` rõ ràng), và `sslcat proxy health-check [--domain] [--include-routes] [--json]` (thăm dò TCP). `-config` toàn cục có thể đặt trước subcommand. v2.3.0-rc1 bổ sung các công cụ MCP `error_log_list` và `error_log_tail`, cộng thêm các tài nguyên `sslcat://logs/error-sources` và `sslcat://logs/error{?id,kind,domain,since,keyword,limit,max_bytes}` để các AI client có thể liệt kê và đọc các lỗi gần đây từ bản thân SSLcat và từ các site riêng lẻ. Bên dưới `internal/mcp/logview` là một bộ đọc log có giới hạn (mặc định 1 MB cuối, tối đa 4 MB) để các file log lớn không thể chặn đường dẫn yêu cầu.
Đã phát hành: tích hợp MCP đầy đủ P1–P5 (v2.1.0), các lệnh vận hành CLI và tự kiểm tra (v2.2.0-rc1), đọc log lỗi MCP cộng với bộ đọc log có giới hạn (v2.3.0-rc1). Kế hoạch: tích hợp Kubernetes, hỗ trợ đa cụm, các chiến lược cache nâng cao, hệ thống plugin, và một GraphQL API.
MIT. Code, issue và release đều nằm trên GitHub: https://github.com/xurenlu/sslcat . Issue, PR và các use case bổ sung trong `docs/` đều được hoan nghênh.
没有找到您要的答案?
如果您有其他问题或需要技术支持,请通过以下方式联系我们:
📧 邮箱: xurenlu@gmail.com
💬 GitHub Issues:github.com/xurenlu/sslcat/issues