Bỏ qua, đến nội dung

Câu hỏi thường gặp (FAQ) — License

Câu hỏi chung

Plugin này khác gì với plugin-license-manager?

Tiêu chíplugin-licenseplugin-license-manager
Vai tròNgười nhận license — cài đặt và xác minh licenseNgười cấp license — tạo và quản lý license cho khách hàng
Dùng choMọi instance DigiForce cần licenseNhà phân phối phần mềm
Chức năng chínhTạo request, upload license, kiểm tra trạng tháiCấp phát license từ file request

License key là gì? Trông như thế nào?

License key là chuỗi ký tự có format signature.encrypted_data:

  • signature: Chữ ký số xác minh tính toàn vẹn
  • encrypted_data: Dữ liệu license đã mã hoá (tên, features, expiry, binding...)

Server fingerprint là gì?

Server fingerprint là mã duy nhất sinh từ thông tin phần cứng (CPU, MAC address, machine ID...) của server. Mỗi máy chủ có fingerprint khác nhau. License được cấp cho một fingerprint cụ thể, không thể dùng trên server khác.

License có hết hạn không?

Có. Trường expiresAt xác định ngày hết hạn. Khi hết hạn, trạng thái chuyển sang expired. Cần liên hệ nhà cung cấp để gia hạn.

Cài đặt và cấu hình

Quy trình lấy license như thế nào?

Lỗi DOMAIN_MISMATCH khi upload license?

License bị ràng buộc domain nhưng domain hiện tại không khớp. Kiểm tra:

  1. Biến môi trường APP_URL đúng domain
  2. Domain trong license khớp với hostname trong APP_URL
  3. Nếu đang test local, xin license mới cho domain local

Lỗi IP_MISMATCH khi upload license?

License bị ràng buộc IP nhưng IP hiện tại không khớp. Kiểm tra:

  1. IP server có thay đổi không (VD: IP động)
  2. Nếu qua proxy, IP có thể là IP của proxy
  3. Xin license mới cho IP hiện tại

Lỗi "License key must be in format: signature.encrypted_data"?

License key không đúng format. Kiểm tra:

  • Đã copy đầy đủ nội dung license key (không thiếu ký tự)
  • Không có khoảng trắng thừa đầu/cuối
  • Nội dung chứa đúng 1 dấu chấm (.) ngăn cách signature và data

Upload license thành công nhưng features không hoạt động?

Kiểm tra:

  1. Trạng thái license là active (không phải expired)
  2. Danh sách features trong license bao gồm tính năng cần dùng
  3. Thử restart server để đảm bảo licenseManager.reload() hoàn tất

Câu hỏi kỹ thuật

License lưu ở đâu?

Hai nơi:

  1. File system: storage/apps/{appName}/license.key (hoặc LICENSE_KEY_PATH)
  2. Database: Collection licenses

Xoá license có xoá sạch không?

Action removeLicense xoá cả file trên disk và bản ghi trong database, sau đó gọi licenseManager.reload().

Có thể có nhiều license trên cùng server không?

Collection licenses hỗ trợ nhiều bản ghi, nhưng plugin tìm theo serverFingerprint. Khi upload license mới cho cùng fingerprint, bản ghi cũ được cập nhật (không tạo thêm).

Docker có ảnh hưởng đến fingerprint không?

Có thể. Container Docker có thể có fingerprint khác nhau mỗi khi recreate. Plugin thu thập containerIdcontainerName trong request. Nên dùng volume mount cố định và machine ID ổn định.