So konfigurieren Sie Nginx's Anti-Hotlinking

So konfigurieren Sie Nginx's Anti-Hotlinking

Experimentelle Umgebung

• Eine minimal installierte virtuelle CentOS 7.3-Maschine
• Konfiguration: 1 Kern/512 MB
•nginx Version 1.12.2

1. Hotlink-Website konfigurieren

1. Starten Sie eine virtuelle Nginx-Maschine und konfigurieren Sie zwei Websites

vim /etc/nginx/conf.d/vhosts.conf

Fügen Sie den folgenden Inhalt hinzu

Server {
 hören Sie 80;
 Servername site1.test.com;
 Stamm /var/wwwroot/site1;
 Index Index.html;

 Standort / {
 }
}

Server {
 hören Sie 80;
 Servername site2.test.com;
 Stamm /var/wwwroot/site2;
 Index Index.html;

 Standort / {
 }
} 

2. Bearbeiten Sie die Datei C:\Windows\System32\drivers\etc\hosts auf dem Hostcomputer

192.168.204.11 site1.test.com
192.168.204.11 site2.test.com

3. Erstellen Sie das Stammverzeichnis der Website

mkdir /var/wwwroot
cd /var/wwwroot
mkdir site1
mkdir site2
echo -e "<h1>Site1</h1><img src='1.jpg'>" >> Site1/index.html
echo -e "<h1>site2</h1><img src='http://site1.test.com/1.jpg'>" >> site2/index.html

4. Laden Sie 1.jpg in das Verzeichnis /var/wwwroot/site1 hoch

5. Starten Sie den Nginx-Dienst

systemctl startet nginx neu
netstat -anpt | grep nginx 

6. Öffnen Sie Port 80 in der Firewall

0
Firewall-Befehl --zone=public --add-port=80/tcp --permanent
Firewall-Befehl --reload

7. Zugriff auf den Host-Rechner

http://site1.test.com

http://site2.test.com

2. Konfigurieren Sie site1.test.com Anti-Hotlinking

1. Bearbeiten Sie die Nginx-Konfigurationsdatei

Server {
 hören Sie 80;
 Servername site1.test.com;
 Stamm /var/wwwroot/site1;
 Index Index.html;

 Standort / {
 }

 Standort ~ \.(jpg|png|gif|jpeg)$ {
  gültige Referrer site1.test.com;
  wenn ($ungültiger_Referrer) {
   Rückgabe 403;
  }
 }
}
Server {
 hören Sie 80;
 Servername site2.test.com;
 Stamm /var/wwwroot/site2;
 Index Index.html;

 Standort / {
 }
} 

2. Starten Sie den Nginx-Dienst neu

systemctl restart nginx

3. Zugriff auf den Host-Rechner

Leeren Sie den Browser-Cache und besuchen Sie http://site1.test.com

Leeren Sie den Browser-Cache und besuchen Sie http://site2.test.com

Es ist ersichtlich, dass die Anti-Hotlink-Konfiguration eine Rolle gespielt hat

3. Konfigurieren Sie Anti-Hotlinking, um andere Ressourcen zurückzugeben

1. Bearbeiten Sie die Nginx-Konfigurationsdatei

Fügen Sie einen virtuellen Host hinzu, um die durch Anti-Hotlinking geschützten Ressourcen neu zu schreiben

Server {
 hören Sie 80;
 Servername site1.test.com;
 Stamm /var/wwwroot/site1;
 Index Index.html;
 Standort / {
 }
 Standort ~ \.(jpg|png|gif|jpeg)$ {
  gültige Referrer site1.test.com;
  wenn ($ungültiger_Referrer) {
   neu schreiben ^/ http://site3.test.com/notfound.jpg;
   #Rückgabe 403;
  }
 }
}
Server {
 hören Sie 80;
 Servername site2.test.com;
 Stamm /var/wwwroot/site2;
 Index Index.html;
 Standort / {
 }
}
Server {
 hören Sie 80;
 Servername site3.test.com;
 Stamm /var/wwwroot/site3;
 Index Index.html;
 Standort / {
 }
}

erklären

Standort ~ \.(jpg|png|gif|jpeg)$ {} ist der Dateityp zum Einstellen von Anti-Hotlinking, getrennt durch eine vertikale Linie |.
valid_referers site1.test.com *.nginx.org; ist eine Whitelist, getrennt durch Leerzeichen. Sie können * verwenden, um Platzhalter-Domänennamen festzulegen.
if ($invalid_referer) {} wird verwendet, um zu bestimmen, ob die Whitelist erfüllt ist. Wenn die Whitelist nicht erfüllt ist, wird der Inhalt in {} ausgeführt.
rewrite ^/ http://site3.test.com/notfound.jpg; dient zum Umschreiben der Ressource. Wenn sie nicht mit der Whitelist übereinstimmt, wird sie an diese Adresse umgeschrieben.
return 403; bedeutet, dass der zurückgegebene Statuscode 403 ist.

2. Erstellen Sie das Stammverzeichnis von site3

cd /var/wwwroot
mkdir site3
echo -e "<h1>site3</h1><img src='nicht gefunden.jpg'>" >> site3/index.html

3. Laden Sie die Datei notfound.jpg in das Verzeichnis /var/wwwroot/site3 hoch

4. Starten Sie den Nginx-Dienst neu

systemctl restart nginx

5. Bearbeiten Sie die Datei C:\Windows\System32\drivers\etc\hosts auf dem Hostcomputer

Zuordnung für site3.test.com hinzufügen

192.168.204.11 site1.test.com
192.168.204.11 site2.test.com
192.168.204.11 site3.test.com

6. Besuchen Sie http://site2.test.com auf dem Hostcomputer

Wie Sie sehen, wird die in Site2 gestohlene Datei 1.jpg von Site1 zur Datei notfound.jpg auf Site3 umgeleitet.

Zusammenfassen

Oben ist die Vorgehensweise zum Konfigurieren des Anti-Hotlinks von Nginx beschrieben, die ich Ihnen vorgestellt habe. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Implementierungscode von Nginx Anti-Hotlink und Optimierung in Linux
  • 3 Möglichkeiten, Hotlinks in Nginx zu verhindern
  • Nginx Anti-Hotlink-Konfigurationsmethode
  • Einführung in die Anti-Hotlinking-Methode unter Nginx-Server
  • Konfigurationsbeispiel für den Nginx-Image-Hotlink-Schutz
  • Führen Sie die folgenden Schritte aus, damit Nginx Anti-Hotlinking konfiguriert.
  • Der gesamte Prozess der Nginx-Anti-Hotlink- und Service-Optimierungskonfiguration

<<:  Detaillierte Erläuterung des SSR-Server-Side-Rendering-Beispiels von Vue

>>:  Analyse der Probleme und Lösungen beim Importieren großer Datenmengen in MySQL

Artikel empfehlen

So konfigurieren Sie Anti-Hotlinking für den Nginx-Websitedienst (empfohlen)

1. Prinzip des Hotlinking 1.1 Vorbereitung der We...

Einführung in Docker-Container

1. Übersicht 1.1 Grundlegende Konzepte: Docker is...

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...

14 praktische Erfahrungen zur Reduzierung von SCSS-Code um 50 %

Vorwort Sass ist eine Erweiterung der CSS3-Sprach...

Implementierung eines Docker-Compose-Bereitstellungsprojekts basierend auf MySQL8

1. Erstellen Sie zunächst den entsprechenden Ordn...

Zwei praktische Möglichkeiten zum Aktivieren des Proxys in React

Zwei Möglichkeiten zum Aktivieren des Proxy React...

Vue+Bootstrap realisiert ein einfaches Studentenverwaltungssystem

Ich habe Vue und Bootstrap verwendet, um ein rela...

Informationen zu VUEs Kompilierungsumfang und Slotumfang-Slotproblemen

Was sind Slots? Die Slot-Direktive ist v-slot, di...