Risolvere un errore di erpc worker

Trova l'inizio del messaggio stampato da erpc worker e fai ciò che dice la sua riga.
Questa pagina descrive ERPC CLI v0.1.0-rc.4, una versione pre-release.

Messaggi di errore e cosa fare

Gli errori del worker usano i codici e gli stati di uscita di erpc: vedi Errori ed exit code.
Messaggio (inizio)PerchéCosa fare
<app> cannot start without <SETTING>run.requires indica un'impostazione che nulla definisceerpc worker secret put <SETTING>, impostala in [vars], oppure distribuisci con la linea che la imposta (--grpc, --unlimited)
your key was added but does not get inL'agente SSH non ha firmato: 1Password è bloccato, oppure la sua richiesta non è stata consentitaSblocca 1Password, consenti la richiesta ed esegui di nuovo lo stesso comando. Prosegue da dove era arrivato
1Password could not …: authorization timeout1Password ha chiesto un'approvazione e nessuno ha rispostoConsenti la richiesta in 1Password ed eseguilo di nuovo
<NAME> is empty; nothing was keptsecret put ha letto uno standard input vuoto: la shell non è un terminaleEseguilo in un terminale, oppure passa il valore con una pipe
the keystore is locked, and nobody is at a terminal …Un comando senza terminale ha bisogno del keystore, e non è conservato alcuno sbloccoerpc worker secret unlock in un terminale, poi di nuovo il comando
nothing is kept under keystore:… on this machineIl valore è stato conservato nel keystore di un'altra macchinaerpc worker secret put <NAME> --replace qui; per la chiave, porta qui l'intera directory keystore di quella macchina e la sua passphrase
release <id> failed: …; the server went back to <previous>La nuova release non ha superato l'health checkVedi erpc worker logs. La release precedente è ancora in esecuzione
… is locked: the trading key has not been handed overIl server si è riavviato, l'agente è andato in errore o è stato terminato e systemd l'ha riavviato, oppure stop --lockerpc worker start
port <n> is taken: …Un altro worker mantenuto in esecuzione ha la stessa porta di health check, oppure un altro programma è in ascolto su di essaAssegna all'app una porta tutta sua in erpc.toml, poi distribuisci di nuovo
release <id> runs, and its WAF did not come up: …Il WAF non ha iniziato ad ascoltare. Nella maggior parte dei casi, un altro programma occupa waf.porterpc worker logs --waf, poi libera la porta o cambia waf.port, e distribuisci di nuovo. Nel frattempo l'app è in esecuzione
waf.<key> … (da check, deploy)Una chiave di [waf] è fuori dai suoi limiti, oppure waf.port è inferiore a 1024 o coincide con run.port, con la porta di SSH o con quella dell'health checkCorreggi erpc.toml. erpc worker check elenca tutti i problemi in una volta
the WAF's port <port> was not opened to … (da firewall allow, deny, sync)La modifica lascerebbe entrare qualcuno di nuovo con regole del WAF che il server non esegue ancoraerpc worker deploy: mette in atto le nuove regole, poi apre la porta
<kind> line <id> did not become active in <n> minutesLa linea è ancora in fase di configurazioneDistribuisci di nuovo per attendere ancora
OUT_OF_STOCKIn quella regione non è disponibile alcun server di quel pianoDistribuisci con --region <another>
the start may or may not have gone through: …La richiesta è partita e non è tornata alcuna risposta, oppure la risposta era 5xx, 408 o 429Esegui di nuovo lo stesso comando: invia la stessa richiesta
this purchase, or another of the account's, is still being made …La prima richiesta è ancora in corso, oppure un altro acquisto dell'account detiene il suo lockEsegui di nuovo lo stesso comando tra poco: invia la stessa richiesta
… changed in 1Password since this command read itNel frattempo un'altra macchina ha scritto l'elemento dell'inventarioEsegui di nuovo il comando
the shared RPC takes none of the account's API keys from this machine (<n> tried) (da secret put --from-account, erpc rpc call, erpc webhook run)Ognuna delle chiavi dell'account è stata rifiutata da questa macchina: le chiavi sono scadute, l'account non ha un piano RPC condiviso attivo, oppure le chiavi sono limitate ad altri indirizzi, come quello di un serverLa ERPC Web Dashboard mostra la data di scadenza di una chiave e il piano, e crea una nuova chiave. Per una chiave limitata all'indirizzo del server: erpc worker secret put ERPC_API_KEY, digitata o passata con una pipe
shared: … HTTP 401 (bench)L'RPC condiviso ha rifiutato la chiave: nessun piano RPC condiviso attivo, oppure una chiave errataControlla il piano nella dashboard, oppure imposta ERPC_API_KEY
shared: … HTTP 429 (bench)Il rate limit del pianoUsa --interval 150 o più

Un acquisto che erpc non riesce a registrare

Quando un server o una linea potrebbe essere stato avviato da una richiesta precedente che erpc non è riuscito a registrare, controlla i server e le linee del tuo account nella dashboard. Riprendi un server con erpc worker deploy --vps <ID>, oppure termina ciò che non ti serve. Poi rimuovi a mano la voce da [env.<name>.starting] in erpc.toml: erpc non ha alcun flag che la elimini, e fino ad allora lo stesso comando invia la stessa richiesta.

Se il server potrebbe essere stato compromesso

  1. Esegui per prima cosa erpc worker backup off, per revocare la chiave di accesso ai backup del server. off non annulla ciò che il server ha già letto.
  2. Sposta i fondi dalla sua chiave di trading e sostituisci i suoi secret.
  3. Ricostruisci il server dalla ERPC Web Dashboard e distribuisci di nuovo.
Se la ricostruzione ha cambiato la chiave host SSH del server, erpc rifiuta il server finché non aggiorni la chiave fissata. Una distribuzione riporta il codice, non i dati di stato dell'app, che solo un backup può ripristinare (Fare il backup dei dati di stato dell'app).

Cosa erpc non fa mai

  • Mettere su una riga di comando una chiave, un secret o un URL che ne contiene uno.
  • Scrivere in un file una chiave di trading o un secret di un'app, con un'eccezione: il suo keystore sulla tua macchina, dove ciascuno è cifrato con la tua passphrase. Su un server, erpc worker backup on lascia le chiavi di backup proprie del server in un file accessibile solo a root.
  • Avviare qualcosa senza mostrarne il prezzo.
  • Lasciare un server aperto: il firewall è attivo prima del primo avvio dell'app.
  • Raggiungere un server la cui chiave host non corrisponde a quella fissata.
La guida del worker elenca ogni messaggio, compresi quelli del WAF.