Complete steps for Nginx to configure anti-hotlinking

Complete steps for Nginx to configure anti-hotlinking

need:

Usually, sites want to prevent videos and pictures on their websites from being stolen. After all, video traffic costs a lot of money (rich people don’t have to consider this).

1. Straight to the point, first upload the nginx configuration file

server {
listen 80;
server_name www.test.com;
root /data/web/;
index index.php index.html;
access_log /data/logs/nginx/biao.madacode.access.log main;

location /{
root /home/data/;
}

error_page 404 /usr/local/nginx/html/404.html;

location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers none blocked server_names *.test.com http://IP;
if ($invalid_referer) {
return 403;
}
expires 24h;
access_log off;

}
location ~ /\.
{
deny all;
}

}

2. Interpretation of the core configuration file of anti-hotlink

location ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers none blocked server_names *.test.com http://IP;
if ($invalid_referer) {
return 403;
}
expires 24h;
access_log off;

}

vaild_referers Valid reference links, as follows, otherwise enter $invaild_refere and return 403 forbidden.

1. none

"Referer" source header is empty

2. blocked

The "Referer" source header is not empty, but the value is deleted by a proxy or firewall, and none of the values ​​start with http:// or https://.

3. server_names

The "Referer" source header contains the current server_names (current domain name)

3. Simulation Case Test

1. Add --referer to simulate reference and see the result is 403 directly. This proves that the above configuration is OK

[root@test]# curl --referer http://baidu.com -I http://www.test.com/temp/T19254/20190820/video_out_out/1/0011.mp4
HTTP/1.1 403 Forbidden
Server: Tengine
Date: Wed, 21 Aug 2019 09:54:44 GMT
Content-Type: text/html
Content-Length: 639
Connection: keep-alive 


Summarize

The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM.

You may also be interested in:
  • Implementation code of Nginx anti-hotlink and optimization in Linux
  • 3 ways to prevent hotlinks in Nginx
  • Nginx Anti-Hotlink Configuration Method
  • Introduction to the method of anti-hotlinking under Nginx server
  • Nginx image hotlink protection configuration example
  • How to configure Nginx's anti-hotlinking
  • The whole process of Nginx anti-hotlink and service optimization configuration

<<:  Installation tutorial of mysql 5.7 under CentOS 7

>>:  js to achieve simple calendar effect

Recommend

Teach you MySQL query optimization analysis tutorial step by step

Preface MySQL is a relational database with stron...

Analysis of the Principle and Method of Implementing Linux Disk Partition

remember: IDE disk: the first disk is hda, the se...

How to reduce memory usage and CPU usage of web pages

Some web pages may not look large but may be very...

Organize the common knowledge points of CocosCreator

Table of contents 1. Scene loading 2. Find Node 1...

A practical record of encountering XSS attack in a VUE project

Table of contents Preface Discover the cause Cust...

Using Apache ab to perform http performance testing

Mac comes with Apache environment Open Terminal a...

Summary of Mysql update multi-table joint update method

Next, I will create two tables and execute a seri...

JavaScript design pattern learning adapter pattern

Table of contents Overview Code Implementation Su...

Detailed analysis of the MySQL slow log opening method and storage format

In development projects, we can monitor SQL with ...

Promise encapsulation wx.request method

The previous article introduced the implementatio...

Docker builds Redis5.0 and mounts data

Table of contents 1. Simple mounting of persisten...

Optimize MySQL with 3 simple tweaks

I don't expect to be an expert DBA, but when ...