Day 3 Keynote: Made Here Together (Cloud Next '18)
Sommario:
- Configurazione del registro di accesso
- Configurazione del registro errori
- Posizione dei file di registro
- Lettura e comprensione dei file di registro di Nginx
- Conclusione
Nginx è un server HTTP e proxy inverso open source ad alte prestazioni responsabile della gestione del carico di alcuni dei più grandi siti su Internet. Quando si gestiscono i server Web NGINX, una delle attività più frequenti che si eseguono è la verifica dei file di registro.
Sapere come configurare e leggere i registri è molto utile durante la risoluzione dei problemi del server o dell'applicazione in quanto forniscono informazioni dettagliate sul debug.
Nginx scrive i record dei suoi eventi in due tipi di log: log di accesso e log degli errori. I registri di accesso scrivono informazioni sulle richieste del client e i registri di errori scrivono informazioni sul server e sui problemi dell'applicazione.
Questo articolo illustra come configurare e leggere i log degli errori e di accesso a Nginx.
Configurazione del registro di accesso
Ogni volta che viene elaborata una richiesta client, Nginx genera un nuovo evento nel registro di accesso. Ogni record di eventi contiene un timestamp e include varie informazioni sul client e sulla risorsa richiesta. I registri di accesso possono mostrarti la posizione dei visitatori, la pagina che visitano, quanto tempo trascorrono sulla pagina e molto altro.
La direttiva
log_format
consente di definire il formato dei messaggi registrati. La direttiva
access_log
abilita e imposta la posizione del file di registro e il formato utilizzato.
La sintassi più semplice della direttiva
access_log
è la seguente:
access_log log_file log_format;
Dove
log_file
è il percorso completo del file di registro e
log_format
è il formato utilizzato dal file di registro.
Il registro di accesso può essere abilitato nel blocco
http
,
server
o direttive di
location
.
Per impostazione predefinita, il registro di accesso è abilitato a livello globale nella direttiva
http
all'interno del file di configurazione principale di Nginx.
http {… access_log /var/log/nginx/access.log;… }
Per una migliore manutenibilità, si consiglia di impostare un file di registro di accesso separato per ciascun blocco server. La direttiva
access_log
impostata nella direttiva
server
sovrascrive quella impostata nella direttiva
http
(livello superiore).
http {… access_log /var/log/nginx/access.log;… server { server_name domain.com access_log /var/log/nginx/domain.access.log;… } }
Se non viene specificato alcun formato di registro, Nginx utilizza il formato combinato predefinito che assomiglia a questo:
log_format combined '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
Per modificare il formato di registrazione, sostituire l'impostazione predefinita o definirne una nuova. Ad esempio, per definire un nuovo formato di registrazione denominato main che estenderà il formato combinato con il valore che mostra l'intestazione
X-Forwarded-For
, aggiungere la seguente definizione nella direttiva
http
o
server
:
log_format custom '$remote_addr - $remote_user "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
Per utilizzare il nuovo formato, specificare il nome dopo il file di registro come mostrato di seguito:
access_log /var/log/nginx/access.log custom;
Mentre il registro di accesso fornisce informazioni molto utili. occupa spazio su disco e può influire sulle prestazioni del server. Se il tuo server ha poche risorse e hai un sito Web occupato, potresti voler disabilitare il registro di accesso. Per fare ciò, impostare il valore della direttiva
access_log
su
off
:
Configurazione del registro errori
Nginx scrive messaggi sull'applicazione e errori generali del server nel file di registro degli errori. Se si verificano errori nell'applicazione Web, il registro degli errori è il primo punto da cui iniziare per la risoluzione dei problemi.
La direttiva
error_log
abilita e imposta la posizione e il livello di gravità del registro errori. Prende il seguente modulo e può essere impostato all'interno di un
http
,
server
o blocco
location
:
error_log log_file log_level
Il parametro
log_level
imposta il livello di registrazione. Di seguito sono elencati i livelli in base alla loro gravità (dal più basso al più alto):
-
debug
- Debug dei messaggi.info
- Messaggi informativi.notice
- Avvisi.warn
- Avvertenze.error
: errori durante l'elaborazione di una richiesta.crit
- Problemi critici. Richiede un'azione rapida.alert
- Avvisi. È necessario agire immediatamente.emerg
- Situazione di emergenza. Il sistema è in uno stato inutilizzabile.
Ogni livello di registro include i livelli più alti. Ad esempio, se si imposta il livello di registro su
warn
, Nginx registra anche i messaggi di
error
,
crit
,
alert
ed
emerg
.
Quando il parametro
log_level
non è specificato, per impostazione predefinita è un
error
.
Per impostazione predefinita, la direttiva
error_log
è definita nella direttiva
http
all'interno del file nginx.conf principale:
http {… error_log /var/log/nginx/error.log;… }
Come per i registri di accesso, si consiglia di impostare un file di registro degli errori separato per ciascun blocco server, che sostituisce l'impostazione ereditata dai livelli superiori.
Ad esempio, per impostare il log degli errori di domain.com in modo da
warn
dovrai utilizzare:
http {… error_log /var/log/nginx/error.log;… server { server_name domain.com error_log /var/log/nginx/domain.error.log warn;… } }
Ogni volta che si modifica il file di configurazione, è necessario riavviare il servizio Nginx per rendere effettive le modifiche.
Posizione dei file di registro
Di default sulla maggior parte delle distribuzioni Linux, come Ubuntu, CentOS e Debian, i log di accesso ed errore si trovano nella directory
/var/log/nginx
.
Lettura e comprensione dei file di registro di Nginx
È possibile aprire e analizzare i file di registro utilizzando i comandi standard come
cat
,
less
,
grep
,
cut
,
awk
e così via.
Ecco un record di esempio dal file di registro di accesso che utilizza il formato di registro Nginx di combinazione predefinito:
192.168.33.1 - - "GET / HTTP/1.1" 200 396 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Analizziamo cosa significa ogni campo del record:
-
$remote_addr
-192.168.33.1
- L'indirizzo IP del client che effettua la richiesta.$remote_user
--
- Utente autenticato HTTP. Quando il nome utente non è impostato, questo campo mostra-
. -"$request"
-"GET /
- Tipo di richiesta, percorso e protocollo.$status
-200
- Il codice di risposta del server.$body_bytes_sent
-396
- La dimensione della risposta del server in byte."$http_referer"
-"-"
- L'URL del referral."$http_user_agent"
-Mozilla/5.0…
- L'agente utente del client (browser web).
Utilizzare il comando
tail
per guardare il file di registro in tempo reale:
Conclusione
I file di registro forniscono informazioni utili sui problemi del server e su come i visitatori interagiscono con il tuo sito Web.
Nginx ti consente di configurare l'accesso e i log degli errori in base alle tue esigenze.
nginxErrore durante la configurazione degli aggiornamenti di Windows. Ripristino delle modifiche.

Se il PC è bloccato in un ciclo di riavvio senza fine con Errore durante la configurazione degli aggiornamenti di Windows. Ripristino delle modifiche. Non spegnere il messaggio del computer, vedere questo
Come passare direttamente a qualsiasi chiave del Registro di sistema nell`Editor del Registro di sistema

È Possibile passare direttamente alla chiave di registro desiderata nella Editor del registro di Windows, utilizzando uno script di batch, uno script VB, un regJump di Microsft, un jumper per la chiave di registro.
Rischi dell`utilizzo del file di configurazione automatica del proxy (PAC) - Furto di identità e altro

Questo post spiega minacce relative ai file Proxy Auto Config PAC e come evitare il reindirizzamento dannoso manualmente o tramite Phrozensoft Auto Config Risk Protector.