Table des matières
site3
Maison Opération et maintenance Nginx Comment configurer l'anti-hotlinking Nginx

Comment configurer l'anti-hotlinking Nginx

May 12, 2023 pm 11:04 PM
nginx

Environnement expérimental

•Une machine virtuelle centos 7.3 minimalement installée
•Configuration : 1 cœur/512 Mo
•nginx version 1.12.2

1. Configurez le site Web hotlink

1. configurer deux sites Web

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

添加以下内容

server {
 listen 80;
 server_name site1.test.com;
 root /var/wwwroot/site1;
 index index.html;

 location / {
 }
}

server {
 listen 80;
 server_name site2.test.com;
 root /var/wwwroot/site2;
 index index.html;

 location / {
 }
}
Copier après la connexion

Comment configurer lanti-hotlinking Nginx

2.在宿主机编辑c:windowssystem32driversetchosts文件

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

3.创建网站根目录

mkdir /var/wwwroot
cd /var/wwwroot
mkdir site1
mkdir site2
echo -e "<h1 id="site">site1</h1><img  src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/887/227/168390384638564.jpg"  class="lazy"  src=&#39;1.jpg&#39; alt="Comment configurer l'anti-hotlinking Nginx" >" >> site1/index.html
echo -e "<h1 id="site">site2</h1><img  src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/887/227/168390384638564.jpg"  class="lazy"  src=&#39;http://site1.test.com/1.jpg&#39; alt="Comment configurer l'anti-hotlinking Nginx" >" >> site2/index.html
Copier après la connexion

4.将1.jpg上传到/var/wwwroot/site1目录

5.启动nginx服务

systemctl restart nginx
netstat -anpt | grep nginx
Copier après la connexion

Comment configurer lanti-hotlinking Nginx

6.防火墙放通80端口

setenforce 0
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
Copier après la connexion

7.在宿主机访问

Comment configurer lanti-hotlinking Nginx

Comment configurer lanti-hotlinking Nginx

二、配置site1.test.com防盗链

1.编辑nginx配置文件

server {
 listen 80;
 server_name site1.test.com;
 root /var/wwwroot/site1;
 index index.html;

 location / {
 }

 location ~ \.(jpg|png|gif|jpeg)$ {
  valid_referers site1.test.com;
  if ($invalid_referer) {
   return 403;
  }
 }
}
server {
 listen 80;
 server_name site2.test.com;
 root /var/wwwroot/site2;
 index index.html;

 location / {
 }
}
Copier après la connexion

Comment configurer lanti-hotlinking Nginx

2.重启nginx服务

systemctl restart nginx

3.在宿主机访问

清除浏览器缓存,访问

Comment configurer lanti-hotlinking Nginx

清除浏览器缓存,访问

Comment configurer lanti-hotlinking Nginx

可见,防盗链配置起到了作用

三、配置防盗链返回其他资源

1.编辑nginx配置文件

增加一个虚拟主机,对防盗链保护的资源进行重写

server {
 listen 80;
 server_name site1.test.com;
 root /var/wwwroot/site1;
 index index.html;
 location / {
 }
 location ~ \.(jpg|png|gif|jpeg)$ {
  valid_referers site1.test.com;
  if ($invalid_referer) {
   rewrite ^/ http://site3.test.com/notfound.jpg;
   #return 403;
  }
 }
}
server {
 listen 80;
 server_name site2.test.com;
 root /var/wwwroot/site2;
 index index.html;
 location / {
 }
}
server {
 listen 80;
 server_name site3.test.com;
 root /var/wwwroot/site3;
 index index.html;
 location / {
 }
}
Copier après la connexion

解释

location ~ .(jpg|png|gif|jpeg)$ {}为设置防盗链的文件类型,使用竖线|分隔。
valid_referers site1.test.com *.nginx.org;为白名单,使用空格分隔,可以使用*进行泛域名设置。
if ($invalid_referer) {}为判断是否符合白名单,不符合白名单将执行{}内的内容。
rewrite ^/ ;为重写资源,如果不合符白名单,则重写为该地址。
return 403;代表返回的状态码为403。

2.建立site3根目录

cd /var/wwwroot
mkdir site3
echo -e "<h1 id="site">site3</h1><img  src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/887/227/168390384638564.jpg"  class="lazy"  src=&#39;notfound.jpg&#39; alt="Comment configurer l'anti-hotlinking Nginx" >" >> site3/index.html
Copier après la connexion

3.上传notfound.jpg文件至/var/wwwroot/site3目录

4.重启nginx服务

systemctl restart nginx

Ajoutez le contenu suivant

rrreeeComment configurer l'anti-hotlinking Nginx192.168.204.11 site2.test.com

3. Créez le répertoire racine du site Web


rrreee

4. Téléchargez 1.jpg dans le répertoire /var/wwwroot/site1

5. service

rrreee

Comment configurer l'anti-hotlinking de Nginx

Comment configurer lanti-hotlinking Nginx

6. Ouvrez le port 80 dans le pare-feu🎜🎜rrreee🎜🎜7. Accès sur la machine hôte🎜🎜🎜Comment configurer l'anti-sangsue de Nginx🎜🎜Comment pour configurer l'anti-hotlinking anti-leeching de Nginx🎜🎜🎜2. Configurez l'anti-hotlinking de site1.test.com🎜🎜🎜🎜1. Modifiez le fichier de configuration nginx🎜🎜rrreee🎜Comment configurer l'anti-hotlink de Nginx🎜🎜🎜2. Redémarrez le service nginx🎜🎜🎜systemctl restart nginx🎜🎜🎜3. Visitez la machine hôte pour vider le cache du navigateur et visitez 🎜🎜Comment configurer Nginx Anti-hotlink🎜🎜Videz le cache du navigateur et visitez🎜🎜Comment configurer Nginx Anti-hotlinking🎜🎜On peut voir que la configuration anti-hotlinking joue un rôle🎜🎜🎜3. Configurez l'anti-hotlinking pour renvoyer d'autres ressources🎜🎜🎜🎜1 . Modifiez le fichier de configuration nginx🎜🎜🎜Ajoutez un hôte virtuel pour la protection anti-hotlinking Les ressources sont réécrites🎜rrreee🎜Explication🎜🎜emplacement ~ .(jpg|png|gif|jpeg)$ {} est le type de fichier pour définir l'anti- hotlinking, séparés par des barres verticales |. 🎜valid_referers site1.test.com *.nginx.org; est une liste blanche, séparée par des espaces, et * peut être utilisé pour définir le nom pan-domaine. 🎜if ($invalid_referer) {} est utilisé pour déterminer s'il correspond à la liste blanche. S'il ne correspond pas à la liste blanche, le contenu de {} sera exécuté. 🎜rewrite ^/ ; est une ressource de réécriture si elle ne correspond pas à la liste blanche, elle sera réécrite à cette adresse. 🎜retour 403 ; signifie que le code d’état renvoyé est 403. 🎜🎜🎜2. Créez le répertoire racine du site3🎜🎜rrreee🎜🎜3. Téléchargez le fichier notfound.jpg dans le répertoire /var/wwwroot/site3🎜🎜🎜🎜4. Redémarrez le service nginx🎜🎜🎜systemctl restart. nginx🎜🎜🎜5. Modifiez le fichier c:windowssystem32driversetchosts sur la machine hôte🎜🎜🎜Ajoutez le mappage à site3.test.com🎜🎜🎜192.168.204.11 site1.test.com🎜192.168.204.11 site2.test. com 🎜192.168.204.11 site3.test.com🎜🎜🎜🎜6. Lors de l'accès à 🎜🎜🎜 sur la machine hôte, vous pouvez voir que le fichier 1.jpg du site1 volé dans le site2 est redirigé vers le fichier notfound.jpg sur le site3. 🎜🎜🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment vérifier si Nginx est démarré? Comment vérifier si Nginx est démarré? Apr 14, 2025 pm 12:48 PM

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment résoudre nginx403 Comment résoudre nginx403 Apr 14, 2025 am 10:33 AM

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

Comment résoudre l'erreur Nginx304 Comment résoudre l'erreur Nginx304 Apr 14, 2025 pm 12:45 PM

Réponse à la question: 304 Erreur non modifiée indique que le navigateur a mis en cache la dernière version de ressource de la demande du client. Solution: 1. Effacer le cache du navigateur; 2. Désactiver le cache du navigateur; 3. Configurer Nginx pour permettre le cache client; 4. Vérifier les autorisations du fichier; 5. Vérifier le hachage du fichier; 6. Désactiver le CDN ou le cache proxy inversé; 7. Redémarrez Nginx.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

See all articles