Nginx系列-5.配置Nginx的防盗链

Nginx系列-5.配置Nginx的防盗链

目录 - Nginx系列

Nginx系列-1.Linux下安装Nginx
Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架构
Nginx系列-3.配置Nginx虚拟主机
Nginx系列-4.Nginx日志配置及日志切割
Nginx系列-5.配置Nginx的防盗链
Nginx系列-6.配置Nginx的HTTPS
Nginx系列-7.配置Nginx使用uwsgi支持web.py框架
Nginx系列-8.配置Nginx+Apache实现动静分离
Nginx系列-9.配置NFS实现Nginx实现动静分离
Nginx系列-10.采用Nginx搭建正向代理服务
Nginx系列-11.配置Nginx反向代理和负载均衡


实验环境
一台最小化的 CentOS 7.3 虚拟机
ip: 192.168.204.133
nginx 版本为 1.12.2

一、配置盗链网站

  1. 启动一台nginx虚拟机,配置两个网站

    vim /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 / {
    }
    }

  2. 在宿主机编辑C:\Windows\System32\drivers\etc\hosts文件
    192.168.204.133   site1.test.com
    192.168.204.133   site2.test.com

  3. 创建网站根目录
    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. 1.jpg上传到/var/wwwroot/site1目录
  5. 启动服务
    启动nginx服务
    systemctl start nginx

    关闭防火墙

    setenforce 0
    systemctl stop firewalld
    systemctl disable firewalld
  6. 在宿主机测试访问
    http://site1.test.com

    http://site2.test.com

二、配置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 / {
    }
    }

  2. 重启nginx服务
    systemctl restart nginx
  3. 在宿主机测试访问
    首先访问site1
    http://site1.test.com

    清除浏览器缓存后访问site2
    http://site2.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) {
            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 / {
    }
    }

  2. 建立site3根目录
    cd /var/wwwroot
    mkdir site3
    echo -e "<h1>site3</h1><img src=‘notfound.jpg‘>" >> site3/index.html
  3. 上传notfound.jpg上传至/var/wwwroot/site3目录
  4. 重启nginx服务
    systemctl restart nginx
  5. 在宿主机编辑C:\Windows\System32\drivers\etc\hosts文件
    增加对site3.test.com的映射
    192.168.204.133   site1.test.com
    192.168.204.133   site2.test.com
    192.168.204.133   site3.test.com

  6. 在宿主机访问http://site2.test.com
    可以看到,在site2中盗用的site11.jpg文件被重定向到了site3上的notfound.jpg文件

原文地址:http://blog.51cto.com/tong707/2126275

时间: 2024-10-13 02:37:58

Nginx系列-5.配置Nginx的防盗链的相关文章

Nginx系列-6.配置Nginx的HTTPS

Nginx系列-6.配置Nginx的HTTPS 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Nginx+A

Nginx系列-8.配置Nginx+Apache实现动静分离

Nginx系列-8.配置Nginx+Apache实现动静分离 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置

Nginx系列-11.配置Nginx反向代理和负载均衡

Nginx系列-11.配置Nginx反向代理和负载均衡 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Ngi

Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架构

Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 N

Nginx系列-9.配置NFS实现Nginx实现动静分离

Nginx系列-9.配置NFS实现Nginx实现动静分离 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Ng

Nginx系列-10.采用Nginx搭建正向代理服务

Nginx系列-10.采用Nginx搭建正向代理服务 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Ngin

Nginx学习之如何搭建文件防盗链服务

Nginx学习之如何搭建文件防盗链服务 前言 大家都知道现在很多站点下载资料都是要收费的,无论是积分还是金币,想免费只能说很少很少了,那么这些网站是如何做到资源防盗链的呢? 这里推荐一款比较容易上手的神器,Nginx本身提供了secure_link来完成防盗链功能,可以给服务器文件链接添加时间戳和校验码,从而保护服务器文件不被任意下载盗用. 时序图 Nginx配置 如何安装Nginx这里不再赘述,安装的时候记得开启ngx_http_secure_link_module即可. ./configur

LNMP第二部分nginx、php配置(用户认证、域名重定向、日志、配置缓存、防盗链)

一.nginx的配置( nginx.conf) 1.nginx的主配置文件位置: /usr/local/nginx/conf/nginx.con 2.清空  /usr/local/nginx/conf/nginx.con默认的配置文件内容 [[email protected] ~]# > /usr/local/nginx/conf/nginx.conf >:重定向的意思,单独使用,可以把一个文本文档快速清空 3.拷贝一下代码到/usr/local/nginx/conf/nginx.conf文件

Nginx修改配置实现图片防盗链

一般情况下,防盗链是针对软件下载和图片的,由于一般的站点不提供资源下载,所以本文主要是针对图片的防盗链 1.如果对全站图片做防盗链,至少需要一个另外的域名存放指向图片.因为如果对全站图片做了防盗链,包括盗链提示图片在内的所有图片都不可能显示. 此类情况修改 /usr/local/nginx/conf/nginx.conf 文件 2.对单独域名配置图片防盗链,个人比较推荐,一是便于控制,二是可以重新创建一个域名在同服务器上用来存放盗链提示图片. 此类情况修改 /usr/local/nginx/co