Khắc phục lỗi của erpc worker

Tìm phần đầu của thông báo mà erpc worker đã in ra, rồi làm theo những gì hàng tương ứng ghi.
Trang này mô tả ERPC CLI v0.1.0-rc.4, một bản pre-release.

Thông báo lỗi và cách xử lý

Các lỗi của worker dùng mã lỗi và trạng thái thoát của erpc: xem Lỗi và mã thoát.
Thông báo (phần đầu)Lý doCách xử lý
<app> cannot start without <SETTING>run.requires nêu một thiết lập mà chưa có gì đặt giá trị cho nóerpc worker secret put <SETTING>, đặt nó trong [vars], hoặc triển khai với đường truyền cung cấp thiết lập đó (--grpc, --unlimited)
your key was added but does not get inSSH agent đã không ký: 1Password bị khóa, hoặc yêu cầu của nó không được cho phépMở khóa 1Password, cho phép yêu cầu, rồi chạy lại cùng lệnh. Lệnh sẽ tiếp tục
1Password could not …: authorization timeout1Password đã yêu cầu phê duyệt và không ai trả lờiCho phép yêu cầu trong 1Password, rồi chạy lại
<NAME> is empty; nothing was keptsecret put đã đọc một đầu vào chuẩn trống: shell không phải là terminalChạy lệnh trong terminal, hoặc pipe giá trị vào
the keystore is locked, and nobody is at a terminal …Một lệnh không có terminal cần keystore, và không có trạng thái mở khóa nào được giữerpc worker secret unlock tại terminal, rồi chạy lại lệnh
nothing is kept under keystore:… on this machineGiá trị đã được lưu trong keystore của một máy khácerpc worker secret put <NAME> --replace tại máy này; với khóa, hãy mang toàn bộ thư mục keystore của máy đó cùng cụm mật khẩu của nó sang
release <id> failed: …; the server went back to <previous>Release mới không vượt qua health checkXem erpc worker logs. Release trước đó vẫn đang chạy
… is locked: the trading key has not been handed overServer đã khởi động lại, agent bị lỗi hoặc bị kill và systemd đã khởi động lại nó, hoặc stop --lockerpc worker start
port <n> is taken: …Một worker khác được giữ ở trạng thái chạy có cùng cổng health check, hoặc một chương trình khác đang lắng nghe trên cổng đóCấp cho ứng dụng một cổng riêng trong erpc.toml, rồi triển khai lại
release <id> runs, and its WAF did not come up: …WAF không bắt đầu lắng nghe. Thường gặp nhất là một chương trình khác đang dùng waf.porterpc worker logs --waf, sau đó giải phóng cổng hoặc đổi waf.port, rồi triển khai lại. Trong lúc đó ứng dụng vẫn chạy
waf.<key> … (từ check, deploy)Một khóa [waf] nằm ngoài giới hạn của nó, hoặc waf.port thấp hơn 1024, hoặc trùng với run.port, cổng SSH hay cổng health checkSửa erpc.toml. erpc worker check liệt kê mọi vấn đề cùng một lúc
the WAF's port <port> was not opened to … (từ firewall allow, deny, sync)Thay đổi này sẽ cho người mới vào theo các quy tắc WAF mà server chưa chạyerpc worker deploy: lệnh này đưa các quy tắc mới vào hoạt động, rồi mở cổng
<kind> line <id> did not become active in <n> minutesĐường truyền vẫn đang được chuẩn bịTriển khai lại để chờ thêm
OUT_OF_STOCKKhông có server nào thuộc gói đó còn trống trong khu vực đóTriển khai với --region <another>
the start may or may not have gone through: …Request đã được gửi đi và không có phản hồi trả về, hoặc phản hồi là 5xx, 408 hoặc 429Chạy lại cùng lệnh: lệnh sẽ gửi cùng request đó
this purchase, or another of the account's, is still being made …Request đầu tiên vẫn đang được xử lý, hoặc một giao dịch mua khác của tài khoản đang giữ lock của nóChạy lại cùng lệnh sau một lát: lệnh sẽ gửi cùng request đó
… changed in 1Password since this command read itMột máy khác đã ghi vào mục trong danh mục trong lúc đóChạy lại lệnh
the shared RPC takes none of the account's API keys from this machine (<n> tried) (từ secret put --from-account, erpc rpc call, erpc webhook run)Từng khóa của tài khoản đều bị từ chối từ máy này: các khóa đã hết hạn, tài khoản không có gói RPC dùng chung đang hoạt động, hoặc các khóa bị giới hạn cho các địa chỉ khác, chẳng hạn địa chỉ của một serverERPC Web Dashboard hiển thị gói và ngày hết hạn của một khóa, và tạo khóa mới. Với khóa bị giới hạn cho địa chỉ của server: erpc worker secret put ERPC_API_KEY, nhập trực tiếp hoặc pipe vào
shared: … HTTP 401 (bench)RPC dùng chung đã từ chối khóa: không có gói RPC dùng chung đang hoạt động, hoặc khóa saiKiểm tra gói trên dashboard, hoặc đặt ERPC_API_KEY
shared: … HTTP 429 (bench)Giới hạn tốc độ của góiDùng --interval 150 trở lên

Giao dịch mua mà erpc không thể ghi nhận

Khi một server hoặc một đường truyền có thể đã được kích hoạt bởi một request trước đó mà erpc không thể ghi nhận, hãy xem các server và đường truyền của tài khoản bạn trong dashboard. Tiếp nhận một server bằng erpc worker deploy --vps <ID>, hoặc kết thúc những gì không cần. Sau đó xóa thủ công mục trong [env.<name>.starting] của erpc.toml: erpc không có flag nào bỏ mục đó, và cho đến lúc đó, cùng lệnh sẽ gửi cùng request.

Nếu server có thể đã bị chiếm quyền

  1. Chạy erpc worker backup off trước tiên, để thu hồi khóa truy cập sao lưu của server. off không hoàn tác những gì server đã đọc được trước đó.
  2. Chuyển tiền khỏi khóa trading của server, và thay các secret của nó.
  3. Build lại server từ ERPC Web Dashboard, rồi triển khai lại.
Nếu việc build lại đã thay đổi khóa host SSH của server, erpc sẽ từ chối server đó cho đến khi bạn cập nhật khóa đã ghim. Một lần triển khai đưa mã nguồn trở lại, không phải dữ liệu trạng thái của ứng dụng, thứ chỉ có thể được khôi phục từ một bản sao lưu (Sao lưu dữ liệu trạng thái của ứng dụng).

Những gì erpc không bao giờ làm

  • Đặt một khóa, một secret, hoặc một URL có chứa một trong số đó lên dòng lệnh.
  • Ghi khóa trading hoặc secret của ứng dụng vào tệp, với một ngoại lệ: keystore của nó trên máy của bạn, nơi mỗi thứ được mã hóa bằng cụm mật khẩu của bạn. Trên server, erpc worker backup on để các khóa sao lưu của chính server trong một tệp chỉ root truy cập được.
  • Kích hoạt bất cứ thứ gì mà không hiển thị giá của nó.
  • Để server ở trạng thái mở: tường lửa có hiệu lực trước khi ứng dụng khởi động lần đầu.
  • Truy cập một server có khóa host không khớp với khóa đã ghim.
Hướng dẫn worker liệt kê mọi thông báo, kể cả các thông báo của WAF.