GNU/Linux >> Znalost Linux >  >> Linux

Jak zakázat ETag v NGINX

Dobrý den, přátelé. Pokračujeme v tomto malém kole tutoriálů a triků Nginx. Tentokrát si vysvětlíme, jak deaktivovat ETag v Nginx. Stejně jako v předchozích příspěvcích to bude jednoduchý příspěvek, ale to nám může na serveru hodně pomoci.

Co je Etag?

ETag (značka entity) je součástí HTTP a je to metoda používaná protokolem k ověření webové mezipaměti a umožňuje uživatelům zadávat podmíněné požadavky.

Jedna věc, kterou je třeba poznamenat, je, že použití ETags v hlavičce HTTP je volitelné. Problém je ale v tom, že mnoho správců stránek to považuje za nezabezpečené a bezpečnostní riziko a rozhodnou se to deaktivovat.

Problém je v tom, že pokud jsou ETags zneužity, je možné sledovat uživatele prostřednictvím mezipaměti prohlížeče. Dnes jej tedy deaktivujeme.

Předpoklady

Než budeme pokračovat, musíme se ujistit, že splňujeme požadavky na bezproblémové dokončení příspěvku

  • Musíte mít nainstalovaný a nakonfigurovaný Nginx. Ujistěte se tedy, že jej máte pomocí oficiálních repozitářů vaší distribuce Linuxu.
  • Verze Nginx musí být vyšší než 1.9.5. Neměli byste mít problém ji mít, protože většina distribucí obsahuje nejnovější verze.
  • Mějte základní znalosti o používání terminálu.
  • Uživatel s sudo přístup nebo root přístup.

Jdeme na to.

Jak globálně zakázat ETag v Nginx

Pokud chcete zakázat ETag globálně ovlivňující všechny stránky, které máte na serveru, musíte upravit konfigurační soubor Nginx, který je /etc/nginx/nginx.conf .

sudo nano /etc/nginx/nginx.conf

A uvnitř http přidat etag off směrnice. Bude to vypadat takto.

http {
   ...
   etag off;
   ...
}

Uložte změny, zavřete editor a restartujte Nginx, aby se změny aplikovaly.

sudos sytemctl restart nginx

Jak deaktivovat ETag v Nginx pro jeden web

V případě, že máte několik webů a každý z nich má svou vlastní vyhrazenou konfiguraci, musíte upravit každý z konfiguračních souborů webu, kde chcete deaktivovat ETag.

Například,

sudo nano /etc/nginx/sites-enabled/domain.conf

Ale na rozdíl od předchozí metody musíme přidat etag off uvnitř server . Bude to vypadat takto.

server {
   listen 80;
   server_name domain;
   etag off;
}

Stejným způsobem zavřete editor a restartujte Nginx.

Závěr

ETag může být velmi užitečný, ale je také trochu riskantní. Tolik správců systému považuje za lepší jej zakázat. Dnes jste se to naučili pomocí Nginx.


Linux
  1. Jak dočasně nebo trvale zakázat SELinux

  2. Jak nastavit reverzní proxy Nginx

  3. Jak používat Nginx k přesměrování

  1. Jak povolit HTTP2 v NGINX

  2. Jak zakázat Cryptswap?

  3. Jak zakázat Bootchart?

  1. Jak zakázat SELinux na CentOS 8

  2. Jak zakázat SELinux na CentOS?

  3. Jak zakázat vše v crontab -l?