NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
IT

Comandi Linux e competenze della shell

curl: il client Web da riga di comando che esegue il Web

curl è il client HTTP tascabile di ogni toolbox operativo: diagnostico, intuitivo per la pipeline e onesto su ciò che è tornato. La superficie delle sue bandiere sembra enorme e per la maggior parte non è in gioco: circa una dozzina di bandiere coprono l'uso operativo quotidiano, e conoscerle fa la differenza tra i controlli sanitari programmati e quelli fortunati. La regola che salva più pagine è banale: imposta --max-time ogni volta, perché la pazienza di curl è infinita e la tua no.

Punti chiave

  1. Controlla prima di scaricare: curl -sSI https://host restituisce metodo, intestazioni e stato senza corpo; aggiungi -v quando gli handshake TLS, i proxy o le intestazioni degli host si comportano in modo strano.
  2. La disciplina del timeout non è negoziabile: --connect-timeout 5 elimina le connessioni inattive, --max-time 15 elimina quelle lente; un controllo dello stato senza entrambi può durare più a lungo dell'interruzione che avrebbe dovuto rilevare.
  3. I codici di uscita sono il contratto negli script: 7 è la connessione rifiutata, 28 è il timeout, 22 è un errore HTTP emerso da --fail; leggi il codice, non solo l'output, altrimenti il ​​tuo monitoraggio non apprende nulla.
  4. Associa la visibilità all'applicazione: -w '%{http_code} %{time_total}\n' riporta cosa è successo, mentre --fail-with-body mostra il corpo dell'errore; senza uno di questi, il fallimento assomiglia esattamente al successo.
  5. Testa ciò che gli utenti effettivamente colpiscono: --resolve example.com:443:10.1.2.3 controlla un backend denominato senza giochi DNS e -H 'Host: vhost.example.com' copre il lato vhost della stessa richiesta.
  6. I trasferimenti ricevono flag deliberati: -o nomina l'output, -L segue i reindirizzamenti che hai esaminato, --retry 3 --retry-delay 2 ammorbidisce gli upstream instabili e -F gestisce i caricamenti in più parti di cui non si è mai preoccupato.
  7. Intestazioni e socket trasportano il mondo non browser: -H 'Autorizzazione: Bearer ...' per le API e --unix-socket /run/app/app.sock per sondare i servizi locali che non toccano mai il TCP.
  8. Conosci le due trappole classiche: le variabili di ambiente proxy che dirottano una richiesta che -v espone in pochi secondi e i reindirizzamenti che trasformano silenziosamente un POST in un GET a meno che tu non lo intenda.

Nota dal campo

Il controllo dello stato rimasto sospeso per quindici minuti è stato eseguito senza --max-time all'interno di un ciclo cron ed è sopravvissuto all'interruzione che avrebbe dovuto rilevare. In linea di principio i timeout ora vengono inseriti prima dell'URL.

Domande frequenti

Perché curl è uscito con 0 quando il sito ha restituito 500? Il successo di

curl significa che il trasporto ha funzionato; Gli errori a livello HTTP sono invisibili senza --fail (uscita 22) o una lettura di %{http_code} da -w. Gli script di monitoraggio insistono su uno dei due.

curl o wget per gli script?

curl per API, intestazioni, corpi POST e controllo preciso; wget per il mirroring e la ricorsione. Per un GET one-shot entrambi funzionano, e una pipeline che mescola entrambi è di solito un segno che nessuno ha deciso quale dei due possedeva il lavoro.

Saltare la verifica TLS è mai giustificato?

Per una diagnostica interattiva rispetto a un certificato di laboratorio autofirmato, a volte; in qualsiasi cosa basata su script o cron, no. -k disabilita l'unico controllo che impedisce a un man-in-the-middle di possedere il tuo trasferimento.

Come faccio a scoprire dove una richiesta lenta si blocca effettivamente?

Variabili di temporizzazione: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' eseguito alcune volte separa l'instabilità del DNS dal problema dell'handshake dagli stalli del backend.

Come Kinetikatech aiuta con comandi linux e competenze della shell

Il punto è semplice: I comandi e le abitudini di scripting che decidono se un amministratore gestisce un server o lo combatte: cerca, trasforma, trasferisci e supervisiona testo e processi con gli strumenti presenti in ogni installazione di base. Lo affidi al nostro servizio Sicurezza server Linux e Gestione server ed è coperto: valutato come si deve, implementato in modo pulito, monitorato 24 ore su 24.

Parli con un ingegnere

Problemi al server? Sito violato? Sito lento?

Incidenti critici gestiti in 30 minuti — 24 ore su 24, 7 giorni su 7.

Richiedi supporto urgente support@kinetikatech.com